<!-- HTML header for doxygen 1.8.8-->
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
    <head>
        <meta http-equiv="X-UA-Compatible" content="IE=edge">
        <!-- For Mobile Devices -->
        <meta name="viewport" content="width=device-width, initial-scale=1">
        <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
        <meta name="generator" content="Doxygen 1.8.17"/>
        <script type="text/javascript" src="https://code.jquery.com/jquery-2.1.1.min.js"></script>
        <title>QuEST: QuEST_validation.c File Reference</title>
        <!--<link href="tabs.css" rel="stylesheet" type="text/css"/>-->
        <script type="text/javascript" src="dynsections.js"></script>
        <link href="doxygen.css" rel="stylesheet" type="text/css" />
        <link href="style.css" rel="stylesheet" type="text/css"/>
        <link href='https://fonts.googleapis.com/css?family=Roboto+Slab' rel='stylesheet' type='text/css'>
        <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.6/css/bootstrap.min.css">
        <script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.6/js/bootstrap.min.js"></script>
        <link href="jquery.smartmenus.bootstrap.css" rel="stylesheet">
        <script type="text/javascript" src="jquery.smartmenus.js"></script>
        <!-- SmartMenus jQuery Bootstrap Addon -->
        <script type="text/javascript" src="jquery.smartmenus.bootstrap.js"></script>
        <!-- SmartMenus jQuery plugin -->
    </head>
    <body>
        <nav class="navbar navbar-default" role="navigation">
            <div class="container">
                <div class="navbar-header">
                    <a class="navbar-brand"><img alt="Logo" src="logo.png"/></a>
                    <a class="navbar-brand"><b>QuEST</b> v3.2.0<br>The Quantum Exact Simulation Toolkit</a>
                </div>
            </div>
        </nav>
        <div id="top"><!-- do not remove this div, it is closed by doxygen! -->
            <div class="content" id="content">
                <div class="container">
                    <div class="row">
                        <div class="col-sm-12 panel " style="padding-bottom: 15px;">
                            <div style="margin-bottom: 15px;">
<!-- end header part -->
<!-- Generated by Doxygen 1.8.17 -->
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(function() {
  initMenu('',false,false,'search.php','Search');
});
/* @license-end */</script>
<div id="main-nav"></div>
<div id="nav-path" class="navpath">
  <ul>
<li class="navelem"><a class="el" href="dir_d522931ffa1371640980b621734a4381.html">Users</a></li><li class="navelem"><a class="el" href="dir_70834f0dcd10de01d2e35ab402a2238e.html">tysonjones</a></li><li class="navelem"><a class="el" href="dir_1957401ef452be7528010ba0f4832a45.html">Desktop</a></li><li class="navelem"><a class="el" href="dir_dee4414d5d72b49a9429e079789ffd08.html">GithubRepos</a></li><li class="navelem"><a class="el" href="dir_a89b43d59316bb5045aa22bb53a67d29.html">QuEST</a></li><li class="navelem"><a class="el" href="dir_f1fe56bf5ef15ff22696c757278c6962.html">QuEST</a></li><li class="navelem"><a class="el" href="dir_757750313c878cfe3b7d1ade55b4b819.html">src</a></li>  </ul>
</div>
</div><!-- top -->
<div class="header">
  <div class="summary">
<a href="#define-members">Macros</a> &#124;
<a href="#enum-members">Enumerations</a> &#124;
<a href="#func-members">Functions</a> &#124;
<a href="#var-members">Variables</a>  </div>
  <div class="headertitle">
<div class="title">QuEST_validation.c File Reference</div>  </div>
</div><!--header-->
<div class="contents">
<div class="textblock"><code>#include &quot;<a class="el" href="QuEST_8h_source.html">QuEST.h</a>&quot;</code><br />
<code>#include &quot;<a class="el" href="QuEST__precision_8h_source.html">QuEST_precision.h</a>&quot;</code><br />
<code>#include &quot;<a class="el" href="QuEST__internal_8h_source.html">QuEST_internal.h</a>&quot;</code><br />
<code>#include &quot;<a class="el" href="QuEST__validation_8h_source.html">QuEST_validation.h</a>&quot;</code><br />
<code>#include &lt;stdio.h&gt;</code><br />
<code>#include &lt;stdlib.h&gt;</code><br />
<code>#include &lt;stdint.h&gt;</code><br />
</div>
<p><a href="QuEST__validation_8c_source.html">Go to the source code of this file.</a></p>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="define-members"></a>
Macros</h2></td></tr>
<tr class="memitem:ae11c24ee51a5843fc77deb6fbc075888"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="QuEST__validation_8c.html#ae11c24ee51a5843fc77deb6fbc075888">macro_isCompletelyPositiveMap</a>(ops,  numOps,  opDim)</td></tr>
<tr class="separator:ae11c24ee51a5843fc77deb6fbc075888"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a3e60b0d8735a2650dcce92875bc3fe7c"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="QuEST__validation_8c.html#a3e60b0d8735a2650dcce92875bc3fe7c">macro_isMatrixUnitary</a>(m,  dim,  retVal)</td></tr>
<tr class="separator:a3e60b0d8735a2650dcce92875bc3fe7c"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="enum-members"></a>
Enumerations</h2></td></tr>
<tr class="memitem:a59e56af19e754a6aa26a612ebf91d05f"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="QuEST__validation_8c.html#a59e56af19e754a6aa26a612ebf91d05f">ErrorCode</a> { <br />
&#160;&#160;<a class="el" href="QuEST__validation_8c.html#a59e56af19e754a6aa26a612ebf91d05fac3121e429a129b2ccb51a92b7c78c4b4">E_SUCCESS</a> =0, 
<a class="el" href="QuEST__validation_8c.html#a59e56af19e754a6aa26a612ebf91d05fa88763fecf89fb1712fb7b219e70bc054">E_INVALID_NUM_RANKS</a>, 
<a class="el" href="QuEST__validation_8c.html#a59e56af19e754a6aa26a612ebf91d05fa842c2a58b36ab64137cc44d22808e6dc">E_INVALID_NUM_CREATE_QUBITS</a>, 
<a class="el" href="QuEST__validation_8c.html#a59e56af19e754a6aa26a612ebf91d05fa2c51e35f9c02c1a9a13c25d433e551a0">E_INVALID_QUBIT_INDEX</a>, 
<br />
&#160;&#160;<a class="el" href="QuEST__validation_8c.html#a59e56af19e754a6aa26a612ebf91d05fa9c12328bf9da962f40c2c91576047b9a">E_INVALID_TARGET_QUBIT</a>, 
<a class="el" href="QuEST__validation_8c.html#a59e56af19e754a6aa26a612ebf91d05fa6dedefbf8fe0aade335d45cb7d47f42b">E_INVALID_CONTROL_QUBIT</a>, 
<a class="el" href="QuEST__validation_8c.html#a59e56af19e754a6aa26a612ebf91d05fa65bef0cc4f53e42ded7d66b62d585e1a">E_INVALID_STATE_INDEX</a>, 
<a class="el" href="QuEST__validation_8c.html#a59e56af19e754a6aa26a612ebf91d05fa16c3d52d803cd7232e5cb56b4c56f734">E_INVALID_AMP_INDEX</a>, 
<br />
&#160;&#160;<a class="el" href="QuEST__validation_8c.html#a59e56af19e754a6aa26a612ebf91d05fa52e5a3163ba2e4656b0810e5c926f409">E_INVALID_ELEM_INDEX</a>, 
<a class="el" href="QuEST__validation_8c.html#a59e56af19e754a6aa26a612ebf91d05fa6e1255a7459c6acab99f6c4f50c3e23e">E_INVALID_NUM_AMPS</a>, 
<a class="el" href="QuEST__validation_8c.html#a59e56af19e754a6aa26a612ebf91d05fab1055b4501c5a9826359a65c59e57a66">E_INVALID_NUM_ELEMS</a>, 
<a class="el" href="QuEST__validation_8c.html#a59e56af19e754a6aa26a612ebf91d05faa44c6dcf43ab594c40c248632e56b434">E_INVALID_OFFSET_NUM_AMPS_QUREG</a>, 
<br />
&#160;&#160;<a class="el" href="QuEST__validation_8c.html#a59e56af19e754a6aa26a612ebf91d05faee49e5e9192447cfb9d44bb4d4619dbc">E_INVALID_OFFSET_NUM_ELEMS_DIAG</a>, 
<a class="el" href="QuEST__validation_8c.html#a59e56af19e754a6aa26a612ebf91d05fa3ba14baf9e1f8b0469c86a7e7be1a81e">E_TARGET_IS_CONTROL</a>, 
<a class="el" href="QuEST__validation_8c.html#a59e56af19e754a6aa26a612ebf91d05fad4f416b9ea063f9aab9d7a93c712b078">E_TARGET_IN_CONTROLS</a>, 
<a class="el" href="QuEST__validation_8c.html#a59e56af19e754a6aa26a612ebf91d05fa6c41bf9336ab1e3dbdbc99e99a5c6450">E_CONTROL_TARGET_COLLISION</a>, 
<br />
&#160;&#160;<a class="el" href="QuEST__validation_8c.html#a59e56af19e754a6aa26a612ebf91d05fa3b62cb7d19be35c8b63dd2bc77d9f423">E_QUBITS_NOT_UNIQUE</a>, 
<a class="el" href="QuEST__validation_8c.html#a59e56af19e754a6aa26a612ebf91d05fa323e5ea1a63ab51abbcf728a1c76b6ab">E_TARGETS_NOT_UNIQUE</a>, 
<a class="el" href="QuEST__validation_8c.html#a59e56af19e754a6aa26a612ebf91d05fae9419d99d88ab7e6e1c486b8ac22f1c6">E_CONTROLS_NOT_UNIQUE</a>, 
<a class="el" href="QuEST__validation_8c.html#a59e56af19e754a6aa26a612ebf91d05fa6cf1f26c653d5953a7e7e4cd2623f9c7">E_INVALID_NUM_QUBITS</a>, 
<br />
&#160;&#160;<a class="el" href="QuEST__validation_8c.html#a59e56af19e754a6aa26a612ebf91d05fa4e515c795506ed87efd89a2ee8957c52">E_INVALID_NUM_TARGETS</a>, 
<a class="el" href="QuEST__validation_8c.html#a59e56af19e754a6aa26a612ebf91d05fa4977c4b1099c2ac41d028050d01e9df4">E_INVALID_NUM_CONTROLS</a>, 
<a class="el" href="QuEST__validation_8c.html#a59e56af19e754a6aa26a612ebf91d05faf5ff674a1ea149739b8642262d11051d">E_NON_UNITARY_MATRIX</a>, 
<a class="el" href="QuEST__validation_8c.html#a59e56af19e754a6aa26a612ebf91d05fa1b0e380f3c20968423b6c3b5bc350844">E_NON_UNITARY_COMPLEX_PAIR</a>, 
<br />
&#160;&#160;<a class="el" href="QuEST__validation_8c.html#a59e56af19e754a6aa26a612ebf91d05fa08ea828707fd3d3ef1304c3871c8fcf9">E_ZERO_VECTOR</a>, 
<a class="el" href="QuEST__validation_8c.html#a59e56af19e754a6aa26a612ebf91d05fade7e7cff05babf532b1848b7198a5432">E_SYS_TOO_BIG_TO_PRINT</a>, 
<a class="el" href="QuEST__validation_8c.html#a59e56af19e754a6aa26a612ebf91d05fa3b66cbbf809dca13ed1f8c417c5c6d58">E_COLLAPSE_STATE_ZERO_PROB</a>, 
<a class="el" href="QuEST__validation_8c.html#a59e56af19e754a6aa26a612ebf91d05faf570526aaa50558c2d9ae5fd74c172e9">E_INVALID_QUBIT_OUTCOME</a>, 
<br />
&#160;&#160;<a class="el" href="QuEST__validation_8c.html#a59e56af19e754a6aa26a612ebf91d05fa7c45e9327d9e46d62c2265e745dd304a">E_CANNOT_OPEN_FILE</a>, 
<a class="el" href="QuEST__validation_8c.html#a59e56af19e754a6aa26a612ebf91d05fa8027a11d972301ce2db1cc3e89fc0d21">E_SECOND_ARG_MUST_BE_STATEVEC</a>, 
<a class="el" href="QuEST__validation_8c.html#a59e56af19e754a6aa26a612ebf91d05fa285d1968690ecce05a722324235dc698">E_MISMATCHING_QUREG_DIMENSIONS</a>, 
<a class="el" href="QuEST__validation_8c.html#a59e56af19e754a6aa26a612ebf91d05fa367f0d9cac7623f8ba17542e05d5eda7">E_MISMATCHING_QUREG_TYPES</a>, 
<br />
&#160;&#160;<a class="el" href="QuEST__validation_8c.html#a59e56af19e754a6aa26a612ebf91d05fa35d4f22969f6f2cd2dcaac4d444156ad">E_DEFINED_ONLY_FOR_STATEVECS</a>, 
<a class="el" href="QuEST__validation_8c.html#a59e56af19e754a6aa26a612ebf91d05fa844a7c30a818d9a178f7cdf6f88f6617">E_DEFINED_ONLY_FOR_DENSMATRS</a>, 
<a class="el" href="QuEST__validation_8c.html#a59e56af19e754a6aa26a612ebf91d05fa93bbec0f9fd753287b43a5004606b213">E_INVALID_PROB</a>, 
<a class="el" href="QuEST__validation_8c.html#a59e56af19e754a6aa26a612ebf91d05fad2a2e4be1419543566bf11c54ee17d18">E_UNNORM_PROBS</a>, 
<br />
&#160;&#160;<a class="el" href="QuEST__validation_8c.html#a59e56af19e754a6aa26a612ebf91d05fac90337dfa163170ece2777268e846575">E_INVALID_ONE_QUBIT_DEPHASE_PROB</a>, 
<a class="el" href="QuEST__validation_8c.html#a59e56af19e754a6aa26a612ebf91d05fa117f97d3ec363d812e6062332d58573a">E_INVALID_TWO_QUBIT_DEPHASE_PROB</a>, 
<a class="el" href="QuEST__validation_8c.html#a59e56af19e754a6aa26a612ebf91d05fa3fbe01426a3917a7816c6afd5baaf9aa">E_INVALID_ONE_QUBIT_DEPOL_PROB</a>, 
<a class="el" href="QuEST__validation_8c.html#a59e56af19e754a6aa26a612ebf91d05fae449855c10219deb369b18ed6d1b357d">E_INVALID_TWO_QUBIT_DEPOL_PROB</a>, 
<br />
&#160;&#160;<a class="el" href="QuEST__validation_8c.html#a59e56af19e754a6aa26a612ebf91d05fadb4ac75daa2005c22ae07d400a9e20cc">E_INVALID_ONE_QUBIT_PAULI_PROBS</a>, 
<a class="el" href="QuEST__validation_8c.html#a59e56af19e754a6aa26a612ebf91d05fa6eee1110104338493c11f3abd0933763">E_INVALID_CONTROLS_BIT_STATE</a>, 
<a class="el" href="QuEST__validation_8c.html#a59e56af19e754a6aa26a612ebf91d05faeb4aa6192443b9c627223d7bbb1e4ac2">E_INVALID_PAULI_CODE</a>, 
<a class="el" href="QuEST__validation_8c.html#a59e56af19e754a6aa26a612ebf91d05fab65076ba39122eb37a197c5fe4aa6ecf">E_INVALID_NUM_SUM_TERMS</a>, 
<br />
&#160;&#160;<a class="el" href="QuEST__validation_8c.html#a59e56af19e754a6aa26a612ebf91d05fa3609e43d6776d5df98d5dbac57a5a2c7">E_CANNOT_FIT_MULTI_QUBIT_MATRIX</a>, 
<a class="el" href="QuEST__validation_8c.html#a59e56af19e754a6aa26a612ebf91d05fa2ff2e7eff381c5e42420c65dc6f1bf1e">E_INVALID_UNITARY_SIZE</a>, 
<a class="el" href="QuEST__validation_8c.html#a59e56af19e754a6aa26a612ebf91d05fa025e3e2e76ae746ce80924436de2cefc">E_COMPLEX_MATRIX_NOT_INIT</a>, 
<a class="el" href="QuEST__validation_8c.html#a59e56af19e754a6aa26a612ebf91d05fadf2e13b0b7bb3e72087ba611d23f549c">E_INVALID_NUM_ONE_QUBIT_KRAUS_OPS</a>, 
<br />
&#160;&#160;<a class="el" href="QuEST__validation_8c.html#a59e56af19e754a6aa26a612ebf91d05fa363d5314df582811ec80b214cc2a53d0">E_INVALID_NUM_TWO_QUBIT_KRAUS_OPS</a>, 
<a class="el" href="QuEST__validation_8c.html#a59e56af19e754a6aa26a612ebf91d05fa1c2104582f49728184e1e3fc4ec98b21">E_INVALID_NUM_N_QUBIT_KRAUS_OPS</a>, 
<a class="el" href="QuEST__validation_8c.html#a59e56af19e754a6aa26a612ebf91d05fa2bd3656eccdd1c4e090ba44318407225">E_INVALID_KRAUS_OPS</a>, 
<a class="el" href="QuEST__validation_8c.html#a59e56af19e754a6aa26a612ebf91d05fa7f56b6271ef72a1c53f9e16206c8392c">E_MISMATCHING_NUM_TARGS_KRAUS_SIZE</a>, 
<br />
&#160;&#160;<a class="el" href="QuEST__validation_8c.html#a59e56af19e754a6aa26a612ebf91d05fa2f1baaf37f336275631269f11dce15f9">E_DISTRIB_QUREG_TOO_SMALL</a>, 
<a class="el" href="QuEST__validation_8c.html#a59e56af19e754a6aa26a612ebf91d05faa73d415a59f391dcc373e57db1d0b946">E_DISTRIB_DIAG_OP_TOO_SMALL</a>, 
<a class="el" href="QuEST__validation_8c.html#a59e56af19e754a6aa26a612ebf91d05fa7c7ae480f5dfdfeda702d01dabd2e414">E_NUM_AMPS_EXCEED_TYPE</a>, 
<a class="el" href="QuEST__validation_8c.html#a59e56af19e754a6aa26a612ebf91d05fa09321b3b6d5cfd2c9a6ca002d47a7e4d">E_INVALID_PAULI_HAMIL_PARAMS</a>, 
<br />
&#160;&#160;<a class="el" href="QuEST__validation_8c.html#a59e56af19e754a6aa26a612ebf91d05fa0085d080a49cd935cbd8513c58debee1">E_INVALID_PAULI_HAMIL_FILE_PARAMS</a>, 
<a class="el" href="QuEST__validation_8c.html#a59e56af19e754a6aa26a612ebf91d05faabf2d19483ecb6652a8f6134ec2ccb5b">E_CANNOT_PARSE_PAULI_HAMIL_FILE_COEFF</a>, 
<a class="el" href="QuEST__validation_8c.html#a59e56af19e754a6aa26a612ebf91d05fa878910573f25d8712a49324842dc0c9f">E_CANNOT_PARSE_PAULI_HAMIL_FILE_PAULI</a>, 
<a class="el" href="QuEST__validation_8c.html#a59e56af19e754a6aa26a612ebf91d05fab3f56aa469917f8bc40bf2a64dc970ca">E_INVALID_PAULI_HAMIL_FILE_PAULI_CODE</a>, 
<br />
&#160;&#160;<a class="el" href="QuEST__validation_8c.html#a59e56af19e754a6aa26a612ebf91d05fa4bfb0440c1886f7fd7bdca40fc0fd9e5">E_MISMATCHING_PAULI_HAMIL_QUREG_NUM_QUBITS</a>, 
<a class="el" href="QuEST__validation_8c.html#a59e56af19e754a6aa26a612ebf91d05fa9441b99173f26df8010b1e05c55a7a91">E_INVALID_TROTTER_ORDER</a>, 
<a class="el" href="QuEST__validation_8c.html#a59e56af19e754a6aa26a612ebf91d05fa1cd38647d334bbc89842adac92ea8b6d">E_INVALID_TROTTER_REPS</a>, 
<a class="el" href="QuEST__validation_8c.html#a59e56af19e754a6aa26a612ebf91d05facb4860f9efbeef2af29d92db6bf43531">E_MISMATCHING_QUREG_DIAGONAL_OP_SIZE</a>, 
<br />
&#160;&#160;<a class="el" href="QuEST__validation_8c.html#a59e56af19e754a6aa26a612ebf91d05fa1fb91d002917c5c5bfdab19ec7503acb">E_DIAGONAL_OP_NOT_INITIALISED</a>
<br />
 }</td></tr>
<tr class="separator:a59e56af19e754a6aa26a612ebf91d05f"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
Functions</h2></td></tr>
<tr class="memitem:aae8c7bcef363e2c9f02eda1e212ac1ce"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="QuEST__validation_8c.html#aae8c7bcef363e2c9f02eda1e212ac1ce">areUniqueQubits</a> (int *qubits, int numQubits)</td></tr>
<tr class="separator:aae8c7bcef363e2c9f02eda1e212ac1ce"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga267884197cf7f1d428021cb12a57360c"><td class="memItemLeft" align="right" valign="top">unsigned int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__testutilities.html#ga267884197cf7f1d428021cb12a57360c">calcLog2</a> (long unsigned int num)</td></tr>
<tr class="memdesc:ga267884197cf7f1d428021cb12a57360c"><td class="mdescLeft">&#160;</td><td class="mdescRight">returns log2 of numbers which must be gauranteed to be 2^n  <a href="group__testutilities.html#ga267884197cf7f1d428021cb12a57360c">More...</a><br /></td></tr>
<tr class="separator:ga267884197cf7f1d428021cb12a57360c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa37cc778ac42f5350830b90d0292b501"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="QuEST__validation_8c.html#aa37cc778ac42f5350830b90d0292b501">exitWithError</a> (const char *msg, const char *func)</td></tr>
<tr class="separator:aa37cc778ac42f5350830b90d0292b501"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga51a64b05d31ef9bcf6a63ce26c0092db"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__debug.html#ga51a64b05d31ef9bcf6a63ce26c0092db">invalidQuESTInputError</a> (const char *errMsg, const char *errFunc)</td></tr>
<tr class="memdesc:ga51a64b05d31ef9bcf6a63ce26c0092db"><td class="mdescLeft">&#160;</td><td class="mdescRight">An internal function called when invalid arguments are passed to a QuEST API call, which the user can optionally override by redefining.  <a href="group__debug.html#ga51a64b05d31ef9bcf6a63ce26c0092db">More...</a><br /></td></tr>
<tr class="separator:ga51a64b05d31ef9bcf6a63ce26c0092db"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5229a3bae3449752adbd45de5e2bfc80"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="QuEST__validation_8c.html#a5229a3bae3449752adbd45de5e2bfc80">isCompletelyPositiveMap2</a> (<a class="el" href="structComplexMatrix2.html">ComplexMatrix2</a> *ops, int numOps)</td></tr>
<tr class="separator:a5229a3bae3449752adbd45de5e2bfc80"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a6cb6ec22af47b86d112320a98925d267"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="QuEST__validation_8c.html#a6cb6ec22af47b86d112320a98925d267">isCompletelyPositiveMap4</a> (<a class="el" href="structComplexMatrix4.html">ComplexMatrix4</a> *ops, int numOps)</td></tr>
<tr class="separator:a6cb6ec22af47b86d112320a98925d267"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aad1590b0f1ed71d267c08642452c0be2"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="QuEST__validation_8c.html#aad1590b0f1ed71d267c08642452c0be2">isCompletelyPositiveMapN</a> (<a class="el" href="structComplexMatrixN.html">ComplexMatrixN</a> *ops, int numOps)</td></tr>
<tr class="separator:aad1590b0f1ed71d267c08642452c0be2"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a786b1167850b73501c52293fc8ea41fb"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="QuEST__validation_8c.html#a786b1167850b73501c52293fc8ea41fb">isComplexPairUnitary</a> (<a class="el" href="structComplex.html">Complex</a> alpha, <a class="el" href="structComplex.html">Complex</a> beta)</td></tr>
<tr class="separator:a786b1167850b73501c52293fc8ea41fb"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a89307da203a4e1d8bd554fe8dcf5a0fb"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="QuEST__validation_8c.html#a89307da203a4e1d8bd554fe8dcf5a0fb">isComplexUnit</a> (<a class="el" href="structComplex.html">Complex</a> alpha)</td></tr>
<tr class="separator:a89307da203a4e1d8bd554fe8dcf5a0fb"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac018fbf837a5573d9666d3f78c7681d1"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="QuEST__validation_8c.html#ac018fbf837a5573d9666d3f78c7681d1">isMatrix2Unitary</a> (<a class="el" href="structComplexMatrix2.html">ComplexMatrix2</a> u)</td></tr>
<tr class="separator:ac018fbf837a5573d9666d3f78c7681d1"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a9cd87dda5c7b51ab4ddde09d13df16b3"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="QuEST__validation_8c.html#a9cd87dda5c7b51ab4ddde09d13df16b3">isMatrix4Unitary</a> (<a class="el" href="structComplexMatrix4.html">ComplexMatrix4</a> u)</td></tr>
<tr class="separator:a9cd87dda5c7b51ab4ddde09d13df16b3"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a770727d6566c1c94f85bcd63bf5b79cd"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="QuEST__validation_8c.html#a770727d6566c1c94f85bcd63bf5b79cd">isMatrixNUnitary</a> (<a class="el" href="structComplexMatrixN.html">ComplexMatrixN</a> u)</td></tr>
<tr class="separator:a770727d6566c1c94f85bcd63bf5b79cd"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a81c88e4b0024ab1c24d891267676d215"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="QuEST__validation_8c.html#a81c88e4b0024ab1c24d891267676d215">isValidPauliCode</a> (enum <a class="el" href="group__type.html#ga1c703cf89629e4e9c7023cd402d67028">pauliOpType</a> code)</td></tr>
<tr class="separator:a81c88e4b0024ab1c24d891267676d215"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a12883d0394ef02f8d6d36abf328beb02"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="QuEST__validation_8c.html#a12883d0394ef02f8d6d36abf328beb02">isVectorUnit</a> (<a class="el" href="group__type.html#ga7740e349b4f8bae6451547680f0ce2d6">qreal</a> ux, <a class="el" href="group__type.html#ga7740e349b4f8bae6451547680f0ce2d6">qreal</a> uy, <a class="el" href="group__type.html#ga7740e349b4f8bae6451547680f0ce2d6">qreal</a> uz)</td></tr>
<tr class="separator:a12883d0394ef02f8d6d36abf328beb02"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a1cd60afc39f9970619db1ba7ca89d258"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="QuEST__validation_8c.html#a1cd60afc39f9970619db1ba7ca89d258">QuESTAssert</a> (int isValid, <a class="el" href="QuEST__validation_8c.html#a59e56af19e754a6aa26a612ebf91d05f">ErrorCode</a> code, const char *func)</td></tr>
<tr class="separator:a1cd60afc39f9970619db1ba7ca89d258"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5f87419b253a97f6caadb72b507b9853"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="QuEST__validation_8c.html#a5f87419b253a97f6caadb72b507b9853">validateAmpIndex</a> (<a class="el" href="structQureg.html">Qureg</a> qureg, long long int ampInd, const char *caller)</td></tr>
<tr class="separator:a5f87419b253a97f6caadb72b507b9853"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a24aa7eff1427fc87028fbee6e9c42844"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="QuEST__validation_8c.html#a24aa7eff1427fc87028fbee6e9c42844">validateControl</a> (<a class="el" href="structQureg.html">Qureg</a> qureg, int controlQubit, const char *caller)</td></tr>
<tr class="separator:a24aa7eff1427fc87028fbee6e9c42844"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a0bd6443ea0f5e36738f3b39b72080b6e"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="QuEST__validation_8c.html#a0bd6443ea0f5e36738f3b39b72080b6e">validateControlState</a> (int *controlState, int numControlQubits, const char *caller)</td></tr>
<tr class="separator:a0bd6443ea0f5e36738f3b39b72080b6e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aefc4a3a9cdb71f6e63bc58ad600e420e"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="QuEST__validation_8c.html#aefc4a3a9cdb71f6e63bc58ad600e420e">validateControlTarget</a> (<a class="el" href="structQureg.html">Qureg</a> qureg, int controlQubit, int targetQubit, const char *caller)</td></tr>
<tr class="separator:aefc4a3a9cdb71f6e63bc58ad600e420e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af22919f5190ca1b3b6b52b8f2fb8213b"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="QuEST__validation_8c.html#af22919f5190ca1b3b6b52b8f2fb8213b">validateDensityMatrQureg</a> (<a class="el" href="structQureg.html">Qureg</a> qureg, const char *caller)</td></tr>
<tr class="separator:af22919f5190ca1b3b6b52b8f2fb8213b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a8a656a83bf0b44447188d06c2f8114cb"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="QuEST__validation_8c.html#a8a656a83bf0b44447188d06c2f8114cb">validateDiagonalOp</a> (<a class="el" href="structQureg.html">Qureg</a> qureg, <a class="el" href="structDiagonalOp.html">DiagonalOp</a> op, const char *caller)</td></tr>
<tr class="separator:a8a656a83bf0b44447188d06c2f8114cb"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac5bd32bc24176e616a288ae04752fc9c"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="QuEST__validation_8c.html#ac5bd32bc24176e616a288ae04752fc9c">validateDiagOpInit</a> (<a class="el" href="structDiagonalOp.html">DiagonalOp</a> op, const char *caller)</td></tr>
<tr class="separator:ac5bd32bc24176e616a288ae04752fc9c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a6b9523909701f7bd79f2ab7b56a8e6bd"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="QuEST__validation_8c.html#a6b9523909701f7bd79f2ab7b56a8e6bd">validateFileOpened</a> (int opened, char *fn, const char *caller)</td></tr>
<tr class="separator:a6b9523909701f7bd79f2ab7b56a8e6bd"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a03b219da14463416c174c08b027deb31"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="QuEST__validation_8c.html#a03b219da14463416c174c08b027deb31">validateHamilFileCoeffParsed</a> (int parsed, <a class="el" href="structPauliHamil.html">PauliHamil</a> h, FILE *file, char *fn, const char *caller)</td></tr>
<tr class="separator:a03b219da14463416c174c08b027deb31"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a73bb5e6a5dcfba274ce93355d4a04db4"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="QuEST__validation_8c.html#a73bb5e6a5dcfba274ce93355d4a04db4">validateHamilFileParams</a> (int numQubits, int numTerms, FILE *file, char *fn, const char *caller)</td></tr>
<tr class="separator:a73bb5e6a5dcfba274ce93355d4a04db4"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a23a0025b20f876844320f40fc02cdb69"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="QuEST__validation_8c.html#a23a0025b20f876844320f40fc02cdb69">validateHamilFilePauliCode</a> (enum <a class="el" href="group__type.html#ga1c703cf89629e4e9c7023cd402d67028">pauliOpType</a> code, <a class="el" href="structPauliHamil.html">PauliHamil</a> h, FILE *file, char *fn, const char *caller)</td></tr>
<tr class="separator:a23a0025b20f876844320f40fc02cdb69"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aab522b9871ea39eaf76d36850817e5bc"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="QuEST__validation_8c.html#aab522b9871ea39eaf76d36850817e5bc">validateHamilFilePauliParsed</a> (int parsed, <a class="el" href="structPauliHamil.html">PauliHamil</a> h, FILE *file, char *fn, const char *caller)</td></tr>
<tr class="separator:aab522b9871ea39eaf76d36850817e5bc"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a7de9c41e77487a2939ed076f0cf674e7"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="QuEST__validation_8c.html#a7de9c41e77487a2939ed076f0cf674e7">validateHamilParams</a> (int numQubits, int numTerms, const char *caller)</td></tr>
<tr class="separator:a7de9c41e77487a2939ed076f0cf674e7"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a87d22240ccfd81827a2a34b8d569d347"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="QuEST__validation_8c.html#a87d22240ccfd81827a2a34b8d569d347">validateMatchingQuregDims</a> (<a class="el" href="structQureg.html">Qureg</a> qureg1, <a class="el" href="structQureg.html">Qureg</a> qureg2, const char *caller)</td></tr>
<tr class="separator:a87d22240ccfd81827a2a34b8d569d347"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a2b88b068a8242ee28da42c7324cdd078"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="QuEST__validation_8c.html#a2b88b068a8242ee28da42c7324cdd078">validateMatchingQuregPauliHamilDims</a> (<a class="el" href="structQureg.html">Qureg</a> qureg, <a class="el" href="structPauliHamil.html">PauliHamil</a> hamil, const char *caller)</td></tr>
<tr class="separator:a2b88b068a8242ee28da42c7324cdd078"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a031812e1cf2c98d72d795cea7bbe73a5"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="QuEST__validation_8c.html#a031812e1cf2c98d72d795cea7bbe73a5">validateMatchingQuregTypes</a> (<a class="el" href="structQureg.html">Qureg</a> qureg1, <a class="el" href="structQureg.html">Qureg</a> qureg2, const char *caller)</td></tr>
<tr class="separator:a031812e1cf2c98d72d795cea7bbe73a5"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a6a3d99bc780707a90120a78a6e203792"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="QuEST__validation_8c.html#a6a3d99bc780707a90120a78a6e203792">validateMatrixInit</a> (<a class="el" href="structComplexMatrixN.html">ComplexMatrixN</a> matr, const char *caller)</td></tr>
<tr class="separator:a6a3d99bc780707a90120a78a6e203792"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a8accabb8a9d573c2ff80305841c3053d"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="QuEST__validation_8c.html#a8accabb8a9d573c2ff80305841c3053d">validateMeasurementProb</a> (<a class="el" href="group__type.html#ga7740e349b4f8bae6451547680f0ce2d6">qreal</a> prob, const char *caller)</td></tr>
<tr class="separator:a8accabb8a9d573c2ff80305841c3053d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:adbe2e1f7f7536cb6dcc60f7378154e79"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="QuEST__validation_8c.html#adbe2e1f7f7536cb6dcc60f7378154e79">validateMultiControls</a> (<a class="el" href="structQureg.html">Qureg</a> qureg, int *controlQubits, int numControlQubits, const char *caller)</td></tr>
<tr class="separator:adbe2e1f7f7536cb6dcc60f7378154e79"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5b0392701c555a898403f80ef4a32f62"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="QuEST__validation_8c.html#a5b0392701c555a898403f80ef4a32f62">validateMultiControlsMultiTargets</a> (<a class="el" href="structQureg.html">Qureg</a> qureg, int *controlQubits, int numControlQubits, int *targetQubits, int numTargetQubits, const char *caller)</td></tr>
<tr class="separator:a5b0392701c555a898403f80ef4a32f62"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a97f43ad2fe1ffc1f77a9b2af2f5f1cc2"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="QuEST__validation_8c.html#a97f43ad2fe1ffc1f77a9b2af2f5f1cc2">validateMultiControlsTarget</a> (<a class="el" href="structQureg.html">Qureg</a> qureg, int *controlQubits, int numControlQubits, int targetQubit, const char *caller)</td></tr>
<tr class="separator:a97f43ad2fe1ffc1f77a9b2af2f5f1cc2"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a38738db33da795b9d52bace2d9fbe7ee"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="QuEST__validation_8c.html#a38738db33da795b9d52bace2d9fbe7ee">validateMultiQubitKrausMap</a> (<a class="el" href="structQureg.html">Qureg</a> qureg, int numTargs, <a class="el" href="structComplexMatrixN.html">ComplexMatrixN</a> *ops, int numOps, const char *caller)</td></tr>
<tr class="separator:a38738db33da795b9d52bace2d9fbe7ee"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a576519ac36b7cb25bab78d05b5d1975f"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="QuEST__validation_8c.html#a576519ac36b7cb25bab78d05b5d1975f">validateMultiQubitMatrix</a> (<a class="el" href="structQureg.html">Qureg</a> qureg, <a class="el" href="structComplexMatrixN.html">ComplexMatrixN</a> u, int numTargs, const char *caller)</td></tr>
<tr class="separator:a576519ac36b7cb25bab78d05b5d1975f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa28b7d9c0c3cf9c4be0e324fb9d6bf76"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="QuEST__validation_8c.html#aa28b7d9c0c3cf9c4be0e324fb9d6bf76">validateMultiQubitMatrixFitsInNode</a> (<a class="el" href="structQureg.html">Qureg</a> qureg, int numTargets, const char *caller)</td></tr>
<tr class="separator:aa28b7d9c0c3cf9c4be0e324fb9d6bf76"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a9e7e85cfc36e3ce1f456a840a217bfd9"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="QuEST__validation_8c.html#a9e7e85cfc36e3ce1f456a840a217bfd9">validateMultiQubits</a> (<a class="el" href="structQureg.html">Qureg</a> qureg, int *qubits, int numQubits, const char *caller)</td></tr>
<tr class="separator:a9e7e85cfc36e3ce1f456a840a217bfd9"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab9947ff071a0c019f715f04b3833dcfd"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="QuEST__validation_8c.html#ab9947ff071a0c019f715f04b3833dcfd">validateMultiQubitUnitaryMatrix</a> (<a class="el" href="structQureg.html">Qureg</a> qureg, <a class="el" href="structComplexMatrixN.html">ComplexMatrixN</a> u, int numTargs, const char *caller)</td></tr>
<tr class="separator:ab9947ff071a0c019f715f04b3833dcfd"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a6776217a5f7ba38b56175cf6db0f96e0"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="QuEST__validation_8c.html#a6776217a5f7ba38b56175cf6db0f96e0">validateMultiTargets</a> (<a class="el" href="structQureg.html">Qureg</a> qureg, int *targetQubits, int numTargetQubits, const char *caller)</td></tr>
<tr class="separator:a6776217a5f7ba38b56175cf6db0f96e0"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a3e2df526fdffb835be9d1dcb9741ddce"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="QuEST__validation_8c.html#a3e2df526fdffb835be9d1dcb9741ddce">validateNormProbs</a> (<a class="el" href="group__type.html#ga7740e349b4f8bae6451547680f0ce2d6">qreal</a> prob1, <a class="el" href="group__type.html#ga7740e349b4f8bae6451547680f0ce2d6">qreal</a> prob2, const char *caller)</td></tr>
<tr class="separator:a3e2df526fdffb835be9d1dcb9741ddce"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a6904359f35d0b61b2c8fcecfac836033"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="QuEST__validation_8c.html#a6904359f35d0b61b2c8fcecfac836033">validateNumAmps</a> (<a class="el" href="structQureg.html">Qureg</a> qureg, long long int startInd, long long int numAmps, const char *caller)</td></tr>
<tr class="separator:a6904359f35d0b61b2c8fcecfac836033"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a4f00b6d48e55ce489c6035e16b606a8a"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="QuEST__validation_8c.html#a4f00b6d48e55ce489c6035e16b606a8a">validateNumControls</a> (<a class="el" href="structQureg.html">Qureg</a> qureg, int numControlQubits, const char *caller)</td></tr>
<tr class="separator:a4f00b6d48e55ce489c6035e16b606a8a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a1c52594c03d2c136993b27f4dd315c11"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="QuEST__validation_8c.html#a1c52594c03d2c136993b27f4dd315c11">validateNumElems</a> (<a class="el" href="structDiagonalOp.html">DiagonalOp</a> op, long long int startInd, long long int numElems, const char *caller)</td></tr>
<tr class="separator:a1c52594c03d2c136993b27f4dd315c11"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5be128290a7bba9a7f12d32cabe2276b"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="QuEST__validation_8c.html#a5be128290a7bba9a7f12d32cabe2276b">validateNumPauliSumTerms</a> (int numTerms, const char *caller)</td></tr>
<tr class="separator:a5be128290a7bba9a7f12d32cabe2276b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a7891142f169db6d440a4145501cd1d4c"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="QuEST__validation_8c.html#a7891142f169db6d440a4145501cd1d4c">validateNumQubitsInDiagOp</a> (int numQubits, int numRanks, const char *caller)</td></tr>
<tr class="separator:a7891142f169db6d440a4145501cd1d4c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a7c8491926b4c7b4bf8e8123f4464a08e"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="QuEST__validation_8c.html#a7c8491926b4c7b4bf8e8123f4464a08e">validateNumQubitsInMatrix</a> (int numQubits, const char *caller)</td></tr>
<tr class="separator:a7c8491926b4c7b4bf8e8123f4464a08e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a45428d4a49b8798a8d25a7155f622238"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="QuEST__validation_8c.html#a45428d4a49b8798a8d25a7155f622238">validateNumQubitsInQureg</a> (int numQubits, int numRanks, const char *caller)</td></tr>
<tr class="separator:a45428d4a49b8798a8d25a7155f622238"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad893327ebd2123508493d445868bfcd7"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="QuEST__validation_8c.html#ad893327ebd2123508493d445868bfcd7">validateNumRanks</a> (int numRanks, const char *caller)</td></tr>
<tr class="separator:ad893327ebd2123508493d445868bfcd7"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a19b0f78f3bc3364d68e4b2256418bdbf"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="QuEST__validation_8c.html#a19b0f78f3bc3364d68e4b2256418bdbf">validateNumTargets</a> (<a class="el" href="structQureg.html">Qureg</a> qureg, int numTargetQubits, const char *caller)</td></tr>
<tr class="separator:a19b0f78f3bc3364d68e4b2256418bdbf"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a260639d187d09cbeef3ff36f0d4d1f0e"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="QuEST__validation_8c.html#a260639d187d09cbeef3ff36f0d4d1f0e">validateOneQubitDampingProb</a> (<a class="el" href="group__type.html#ga7740e349b4f8bae6451547680f0ce2d6">qreal</a> prob, const char *caller)</td></tr>
<tr class="separator:a260639d187d09cbeef3ff36f0d4d1f0e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aef4d89ae4b8a8b4f414ebd03ef4c6acf"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="QuEST__validation_8c.html#aef4d89ae4b8a8b4f414ebd03ef4c6acf">validateOneQubitDephaseProb</a> (<a class="el" href="group__type.html#ga7740e349b4f8bae6451547680f0ce2d6">qreal</a> prob, const char *caller)</td></tr>
<tr class="separator:aef4d89ae4b8a8b4f414ebd03ef4c6acf"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a269b2f7ee5c4376ae633cd2b77a7be38"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="QuEST__validation_8c.html#a269b2f7ee5c4376ae633cd2b77a7be38">validateOneQubitDepolProb</a> (<a class="el" href="group__type.html#ga7740e349b4f8bae6451547680f0ce2d6">qreal</a> prob, const char *caller)</td></tr>
<tr class="separator:a269b2f7ee5c4376ae633cd2b77a7be38"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a2d43dbc8bf59a58b0ba9da31a8b7db8b"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="QuEST__validation_8c.html#a2d43dbc8bf59a58b0ba9da31a8b7db8b">validateOneQubitKrausMap</a> (<a class="el" href="structQureg.html">Qureg</a> qureg, <a class="el" href="structComplexMatrix2.html">ComplexMatrix2</a> *ops, int numOps, const char *caller)</td></tr>
<tr class="separator:a2d43dbc8bf59a58b0ba9da31a8b7db8b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a1b018a5766c1b26c731e8dcaa76abb19"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="QuEST__validation_8c.html#a1b018a5766c1b26c731e8dcaa76abb19">validateOneQubitPauliProbs</a> (<a class="el" href="group__type.html#ga7740e349b4f8bae6451547680f0ce2d6">qreal</a> probX, <a class="el" href="group__type.html#ga7740e349b4f8bae6451547680f0ce2d6">qreal</a> probY, <a class="el" href="group__type.html#ga7740e349b4f8bae6451547680f0ce2d6">qreal</a> probZ, const char *caller)</td></tr>
<tr class="separator:a1b018a5766c1b26c731e8dcaa76abb19"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a0344fbbb2bb505f7db14b420153f1eb5"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="QuEST__validation_8c.html#a0344fbbb2bb505f7db14b420153f1eb5">validateOneQubitUnitaryMatrix</a> (<a class="el" href="structComplexMatrix2.html">ComplexMatrix2</a> u, const char *caller)</td></tr>
<tr class="separator:a0344fbbb2bb505f7db14b420153f1eb5"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad613c75ff252a88e54f911053bd2032c"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="QuEST__validation_8c.html#ad613c75ff252a88e54f911053bd2032c">validateOutcome</a> (int outcome, const char *caller)</td></tr>
<tr class="separator:ad613c75ff252a88e54f911053bd2032c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa194ba5f5c6e19c6caa4c715b3dbefcc"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="QuEST__validation_8c.html#aa194ba5f5c6e19c6caa4c715b3dbefcc">validatePauliCodes</a> (enum <a class="el" href="group__type.html#ga1c703cf89629e4e9c7023cd402d67028">pauliOpType</a> *pauliCodes, int numPauliCodes, const char *caller)</td></tr>
<tr class="separator:aa194ba5f5c6e19c6caa4c715b3dbefcc"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a066b0c4d0b02a0f3b9be7e5c68d9de6a"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="QuEST__validation_8c.html#a066b0c4d0b02a0f3b9be7e5c68d9de6a">validatePauliHamil</a> (<a class="el" href="structPauliHamil.html">PauliHamil</a> hamil, const char *caller)</td></tr>
<tr class="separator:a066b0c4d0b02a0f3b9be7e5c68d9de6a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae06b0f6b669c03241d0db3b9dc560da1"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="QuEST__validation_8c.html#ae06b0f6b669c03241d0db3b9dc560da1">validateProb</a> (<a class="el" href="group__type.html#ga7740e349b4f8bae6451547680f0ce2d6">qreal</a> prob, const char *caller)</td></tr>
<tr class="separator:ae06b0f6b669c03241d0db3b9dc560da1"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a7adc86571f1154558676d95daf0cbd1f"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="QuEST__validation_8c.html#a7adc86571f1154558676d95daf0cbd1f">validateSecondQuregStateVec</a> (<a class="el" href="structQureg.html">Qureg</a> qureg2, const char *caller)</td></tr>
<tr class="separator:a7adc86571f1154558676d95daf0cbd1f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a57dc69bb7a2217aafca676b0923d5e27"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="QuEST__validation_8c.html#a57dc69bb7a2217aafca676b0923d5e27">validateStateIndex</a> (<a class="el" href="structQureg.html">Qureg</a> qureg, long long int stateInd, const char *caller)</td></tr>
<tr class="separator:a57dc69bb7a2217aafca676b0923d5e27"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a72feec2aaa05f98aed7f3c3fee141251"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="QuEST__validation_8c.html#a72feec2aaa05f98aed7f3c3fee141251">validateStateVecQureg</a> (<a class="el" href="structQureg.html">Qureg</a> qureg, const char *caller)</td></tr>
<tr class="separator:a72feec2aaa05f98aed7f3c3fee141251"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac31c45c5a31c523be0eb26abba6cf598"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="QuEST__validation_8c.html#ac31c45c5a31c523be0eb26abba6cf598">validateTarget</a> (<a class="el" href="structQureg.html">Qureg</a> qureg, int targetQubit, const char *caller)</td></tr>
<tr class="separator:ac31c45c5a31c523be0eb26abba6cf598"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a82b142fe77ba20c87142274f32e57689"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="QuEST__validation_8c.html#a82b142fe77ba20c87142274f32e57689">validateTrotterParams</a> (int order, int reps, const char *caller)</td></tr>
<tr class="separator:a82b142fe77ba20c87142274f32e57689"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a2f58e35b04edfbc053e0c9ae19f1be97"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="QuEST__validation_8c.html#a2f58e35b04edfbc053e0c9ae19f1be97">validateTwoQubitDephaseProb</a> (<a class="el" href="group__type.html#ga7740e349b4f8bae6451547680f0ce2d6">qreal</a> prob, const char *caller)</td></tr>
<tr class="separator:a2f58e35b04edfbc053e0c9ae19f1be97"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:abedaf81fa9ed252b2f8fbd1bd73f8f8e"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="QuEST__validation_8c.html#abedaf81fa9ed252b2f8fbd1bd73f8f8e">validateTwoQubitDepolProb</a> (<a class="el" href="group__type.html#ga7740e349b4f8bae6451547680f0ce2d6">qreal</a> prob, const char *caller)</td></tr>
<tr class="separator:abedaf81fa9ed252b2f8fbd1bd73f8f8e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad0f5b8fe9cf31ef3a565e722966a5511"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="QuEST__validation_8c.html#ad0f5b8fe9cf31ef3a565e722966a5511">validateTwoQubitKrausMap</a> (<a class="el" href="structQureg.html">Qureg</a> qureg, <a class="el" href="structComplexMatrix4.html">ComplexMatrix4</a> *ops, int numOps, const char *caller)</td></tr>
<tr class="separator:ad0f5b8fe9cf31ef3a565e722966a5511"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a654db9d60abdcae26427e7d3b3d9c432"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="QuEST__validation_8c.html#a654db9d60abdcae26427e7d3b3d9c432">validateTwoQubitUnitaryMatrix</a> (<a class="el" href="structQureg.html">Qureg</a> qureg, <a class="el" href="structComplexMatrix4.html">ComplexMatrix4</a> u, const char *caller)</td></tr>
<tr class="separator:a654db9d60abdcae26427e7d3b3d9c432"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aed5f85789dc4fa43b64e99e6b538035c"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="QuEST__validation_8c.html#aed5f85789dc4fa43b64e99e6b538035c">validateUniqueTargets</a> (<a class="el" href="structQureg.html">Qureg</a> qureg, int qubit1, int qubit2, const char *caller)</td></tr>
<tr class="separator:aed5f85789dc4fa43b64e99e6b538035c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5d49d4aadea858794b139c6a195ffd8b"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="QuEST__validation_8c.html#a5d49d4aadea858794b139c6a195ffd8b">validateUnitaryComplexPair</a> (<a class="el" href="structComplex.html">Complex</a> alpha, <a class="el" href="structComplex.html">Complex</a> beta, const char *caller)</td></tr>
<tr class="separator:a5d49d4aadea858794b139c6a195ffd8b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a782c6f57939eeb72b7be8e247979f3be"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="QuEST__validation_8c.html#a782c6f57939eeb72b7be8e247979f3be">validateVector</a> (<a class="el" href="structVector.html">Vector</a> vec, const char *caller)</td></tr>
<tr class="separator:a782c6f57939eeb72b7be8e247979f3be"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="var-members"></a>
Variables</h2></td></tr>
<tr class="memitem:a75e57a6f82e7d4c0fda1549da1b38f6d"><td class="memItemLeft" align="right" valign="top">char&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="QuEST__validation_8c.html#a75e57a6f82e7d4c0fda1549da1b38f6d">errMsgBuffer</a> [1024]</td></tr>
<tr class="separator:a75e57a6f82e7d4c0fda1549da1b38f6d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a787fcf25439967fcf5b2d23f98589892"><td class="memItemLeft" align="right" valign="top">static const char *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="QuEST__validation_8c.html#a787fcf25439967fcf5b2d23f98589892">errorMessages</a> []</td></tr>
<tr class="separator:a787fcf25439967fcf5b2d23f98589892"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<div class="textblock"><p>Provides validation of user input</p>
<dl class="section author"><dt>Author</dt><dd>Tyson Jones </dd>
<dd>
Ania Brown (<a class="el" href="QuEST__validation_8c.html#aa37cc778ac42f5350830b90d0292b501">exitWithError()</a>, <a class="el" href="QuEST__validation_8c.html#a1cd60afc39f9970619db1ba7ca89d258">QuESTAssert()</a>, original testing of: qubit indices, unitarity, valid collapse probability) </dd>
<dd>
Balint Koczor (Kraus maps) </dd>
<dd>
Nicolas Vogt of HQS (one-qubit damping) </dd></dl>

<p class="definition">Definition in file <a class="el" href="QuEST__validation_8c_source.html">QuEST_validation.c</a>.</p>
</div><h2 class="groupheader">Macro Definition Documentation</h2>
<a id="ae11c24ee51a5843fc77deb6fbc075888"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ae11c24ee51a5843fc77deb6fbc075888">&#9670;&nbsp;</a></span>macro_isCompletelyPositiveMap</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define macro_isCompletelyPositiveMap</td>
          <td>(</td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">ops, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">numOps, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">opDim&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">
<b>Value:</b><div class="fragment"><div class="line">    { \</div>
<div class="line">    for (<span class="keywordtype">int</span> r=0; r&lt;(opDim); r++) { \</div>
<div class="line">        for (<span class="keywordtype">int</span> c=0; c&lt;(opDim); c++) { \</div>
<div class="line">            qreal elemRe_ = 0; \</div>
<div class="line">            qreal elemIm_ = 0; \</div>
<div class="line">            for (<span class="keywordtype">int</span> n=0; n&lt;(numOps); n++) { \</div>
<div class="line">                for (<span class="keywordtype">int</span> k=0; k&lt;(opDim); k++) { \</div>
<div class="line">                    elemRe_ += ops[n].real[k][r]*ops[n].real[k][c] + ops[n].imag[k][r]*ops[n].imag[k][c]; \</div>
<div class="line">                    elemIm_ += ops[n].real[k][r]*ops[n].imag[k][c] - ops[n].imag[k][r]*ops[n].real[k][c]; \</div>
<div class="line">                } \</div>
<div class="line">            } \</div>
<div class="line">            qreal dist_ = absReal(elemIm_) + absReal(elemRe_ - ((r==c)? 1:0)); \</div>
<div class="line">            if (dist_ &gt; REAL_EPS) \</div>
<div class="line">                return 0; \</div>
<div class="line">        } \</div>
<div class="line">    } \</div>
<div class="line">    return 1; \</div>
<div class="line">}</div>
</div><!-- fragment -->
<p class="definition">Definition at line <a class="el" href="QuEST__validation_8c_source.html#l00246">246</a> of file <a class="el" href="QuEST__validation_8c_source.html">QuEST_validation.c</a>.</p>

</div>
</div>
<a id="a3e60b0d8735a2650dcce92875bc3fe7c"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a3e60b0d8735a2650dcce92875bc3fe7c">&#9670;&nbsp;</a></span>macro_isMatrixUnitary</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define macro_isMatrixUnitary</td>
          <td>(</td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">m, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">dim, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">retVal&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">
<b>Value:</b><div class="fragment"><div class="line">    { \</div>
<div class="line">    <span class="comment">/* elemRe_ and elemIm_ must not exist in caller scope */</span> \</div>
<div class="line">    qreal elemRe_, elemIm_; \</div>
<div class="line">    retVal = 1; \</div>
<div class="line">    <span class="comment">/* check m * ConjugateTranspose(m) == Identity */</span> \</div>
<div class="line">    for (<span class="keywordtype">int</span> r=0; r &lt; (dim); r++) { \</div>
<div class="line">        for (<span class="keywordtype">int</span> c=0; c &lt; (dim); c++) { \</div>
<div class="line">            <span class="comment">/* m[r][...] * ConjugateTranspose(m)[...][c] */</span> \</div>
<div class="line">            elemRe_ = 0; \</div>
<div class="line">            elemIm_ = 0; \</div>
<div class="line">            for (<span class="keywordtype">int</span> i=0; i &lt; (dim); i++) { \</div>
<div class="line">                <span class="comment">/* m[r][i] * conj(m[c][i]) */</span> \</div>
<div class="line">                elemRe_ += m.real[r][i]*m.real[c][i] + m.imag[r][i]*m.imag[c][i]; \</div>
<div class="line">                elemIm_ += m.imag[r][i]*m.real[c][i] - m.real[r][i]*m.imag[c][i]; \</div>
<div class="line">            } \</div>
<div class="line">            <span class="comment">/* check distance from identity */</span> \</div>
<div class="line">            if ((absReal(elemIm_) &gt; REAL_EPS) || \</div>
<div class="line">                (r == c &amp;&amp; absReal(elemRe_ - 1) &gt; REAL_EPS) || \</div>
<div class="line">                (r != c &amp;&amp; absReal(elemRe_    ) &gt; REAL_EPS)) { \</div>
<div class="line">                retVal = 0; \</div>
<div class="line">                break; \</div>
<div class="line">            } \</div>
<div class="line">        } \</div>
<div class="line">        if (retVal == 0) \</div>
<div class="line">            break; \</div>
<div class="line">    } \</div>
<div class="line">}</div>
</div><!-- fragment -->
<p class="definition">Definition at line <a class="el" href="QuEST__validation_8c_source.html#l00200">200</a> of file <a class="el" href="QuEST__validation_8c_source.html">QuEST_validation.c</a>.</p>

</div>
</div>
<h2 class="groupheader">Enumeration Type Documentation</h2>
<a id="a59e56af19e754a6aa26a612ebf91d05f"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a59e56af19e754a6aa26a612ebf91d05f">&#9670;&nbsp;</a></span>ErrorCode</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">enum <a class="el" href="QuEST__validation_8c.html#a59e56af19e754a6aa26a612ebf91d05f">ErrorCode</a></td>
        </tr>
      </table>
</div><div class="memdoc">
<table class="fieldtable">
<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><a id="a59e56af19e754a6aa26a612ebf91d05fac3121e429a129b2ccb51a92b7c78c4b4"></a>E_SUCCESS&#160;</td><td class="fielddoc"></td></tr>
<tr><td class="fieldname"><a id="a59e56af19e754a6aa26a612ebf91d05fa88763fecf89fb1712fb7b219e70bc054"></a>E_INVALID_NUM_RANKS&#160;</td><td class="fielddoc"></td></tr>
<tr><td class="fieldname"><a id="a59e56af19e754a6aa26a612ebf91d05fa842c2a58b36ab64137cc44d22808e6dc"></a>E_INVALID_NUM_CREATE_QUBITS&#160;</td><td class="fielddoc"></td></tr>
<tr><td class="fieldname"><a id="a59e56af19e754a6aa26a612ebf91d05fa2c51e35f9c02c1a9a13c25d433e551a0"></a>E_INVALID_QUBIT_INDEX&#160;</td><td class="fielddoc"></td></tr>
<tr><td class="fieldname"><a id="a59e56af19e754a6aa26a612ebf91d05fa9c12328bf9da962f40c2c91576047b9a"></a>E_INVALID_TARGET_QUBIT&#160;</td><td class="fielddoc"></td></tr>
<tr><td class="fieldname"><a id="a59e56af19e754a6aa26a612ebf91d05fa6dedefbf8fe0aade335d45cb7d47f42b"></a>E_INVALID_CONTROL_QUBIT&#160;</td><td class="fielddoc"></td></tr>
<tr><td class="fieldname"><a id="a59e56af19e754a6aa26a612ebf91d05fa65bef0cc4f53e42ded7d66b62d585e1a"></a>E_INVALID_STATE_INDEX&#160;</td><td class="fielddoc"></td></tr>
<tr><td class="fieldname"><a id="a59e56af19e754a6aa26a612ebf91d05fa16c3d52d803cd7232e5cb56b4c56f734"></a>E_INVALID_AMP_INDEX&#160;</td><td class="fielddoc"></td></tr>
<tr><td class="fieldname"><a id="a59e56af19e754a6aa26a612ebf91d05fa52e5a3163ba2e4656b0810e5c926f409"></a>E_INVALID_ELEM_INDEX&#160;</td><td class="fielddoc"></td></tr>
<tr><td class="fieldname"><a id="a59e56af19e754a6aa26a612ebf91d05fa6e1255a7459c6acab99f6c4f50c3e23e"></a>E_INVALID_NUM_AMPS&#160;</td><td class="fielddoc"></td></tr>
<tr><td class="fieldname"><a id="a59e56af19e754a6aa26a612ebf91d05fab1055b4501c5a9826359a65c59e57a66"></a>E_INVALID_NUM_ELEMS&#160;</td><td class="fielddoc"></td></tr>
<tr><td class="fieldname"><a id="a59e56af19e754a6aa26a612ebf91d05faa44c6dcf43ab594c40c248632e56b434"></a>E_INVALID_OFFSET_NUM_AMPS_QUREG&#160;</td><td class="fielddoc"></td></tr>
<tr><td class="fieldname"><a id="a59e56af19e754a6aa26a612ebf91d05faee49e5e9192447cfb9d44bb4d4619dbc"></a>E_INVALID_OFFSET_NUM_ELEMS_DIAG&#160;</td><td class="fielddoc"></td></tr>
<tr><td class="fieldname"><a id="a59e56af19e754a6aa26a612ebf91d05fa3ba14baf9e1f8b0469c86a7e7be1a81e"></a>E_TARGET_IS_CONTROL&#160;</td><td class="fielddoc"></td></tr>
<tr><td class="fieldname"><a id="a59e56af19e754a6aa26a612ebf91d05fad4f416b9ea063f9aab9d7a93c712b078"></a>E_TARGET_IN_CONTROLS&#160;</td><td class="fielddoc"></td></tr>
<tr><td class="fieldname"><a id="a59e56af19e754a6aa26a612ebf91d05fa6c41bf9336ab1e3dbdbc99e99a5c6450"></a>E_CONTROL_TARGET_COLLISION&#160;</td><td class="fielddoc"></td></tr>
<tr><td class="fieldname"><a id="a59e56af19e754a6aa26a612ebf91d05fa3b62cb7d19be35c8b63dd2bc77d9f423"></a>E_QUBITS_NOT_UNIQUE&#160;</td><td class="fielddoc"></td></tr>
<tr><td class="fieldname"><a id="a59e56af19e754a6aa26a612ebf91d05fa323e5ea1a63ab51abbcf728a1c76b6ab"></a>E_TARGETS_NOT_UNIQUE&#160;</td><td class="fielddoc"></td></tr>
<tr><td class="fieldname"><a id="a59e56af19e754a6aa26a612ebf91d05fae9419d99d88ab7e6e1c486b8ac22f1c6"></a>E_CONTROLS_NOT_UNIQUE&#160;</td><td class="fielddoc"></td></tr>
<tr><td class="fieldname"><a id="a59e56af19e754a6aa26a612ebf91d05fa6cf1f26c653d5953a7e7e4cd2623f9c7"></a>E_INVALID_NUM_QUBITS&#160;</td><td class="fielddoc"></td></tr>
<tr><td class="fieldname"><a id="a59e56af19e754a6aa26a612ebf91d05fa4e515c795506ed87efd89a2ee8957c52"></a>E_INVALID_NUM_TARGETS&#160;</td><td class="fielddoc"></td></tr>
<tr><td class="fieldname"><a id="a59e56af19e754a6aa26a612ebf91d05fa4977c4b1099c2ac41d028050d01e9df4"></a>E_INVALID_NUM_CONTROLS&#160;</td><td class="fielddoc"></td></tr>
<tr><td class="fieldname"><a id="a59e56af19e754a6aa26a612ebf91d05faf5ff674a1ea149739b8642262d11051d"></a>E_NON_UNITARY_MATRIX&#160;</td><td class="fielddoc"></td></tr>
<tr><td class="fieldname"><a id="a59e56af19e754a6aa26a612ebf91d05fa1b0e380f3c20968423b6c3b5bc350844"></a>E_NON_UNITARY_COMPLEX_PAIR&#160;</td><td class="fielddoc"></td></tr>
<tr><td class="fieldname"><a id="a59e56af19e754a6aa26a612ebf91d05fa08ea828707fd3d3ef1304c3871c8fcf9"></a>E_ZERO_VECTOR&#160;</td><td class="fielddoc"></td></tr>
<tr><td class="fieldname"><a id="a59e56af19e754a6aa26a612ebf91d05fade7e7cff05babf532b1848b7198a5432"></a>E_SYS_TOO_BIG_TO_PRINT&#160;</td><td class="fielddoc"></td></tr>
<tr><td class="fieldname"><a id="a59e56af19e754a6aa26a612ebf91d05fa3b66cbbf809dca13ed1f8c417c5c6d58"></a>E_COLLAPSE_STATE_ZERO_PROB&#160;</td><td class="fielddoc"></td></tr>
<tr><td class="fieldname"><a id="a59e56af19e754a6aa26a612ebf91d05faf570526aaa50558c2d9ae5fd74c172e9"></a>E_INVALID_QUBIT_OUTCOME&#160;</td><td class="fielddoc"></td></tr>
<tr><td class="fieldname"><a id="a59e56af19e754a6aa26a612ebf91d05fa7c45e9327d9e46d62c2265e745dd304a"></a>E_CANNOT_OPEN_FILE&#160;</td><td class="fielddoc"></td></tr>
<tr><td class="fieldname"><a id="a59e56af19e754a6aa26a612ebf91d05fa8027a11d972301ce2db1cc3e89fc0d21"></a>E_SECOND_ARG_MUST_BE_STATEVEC&#160;</td><td class="fielddoc"></td></tr>
<tr><td class="fieldname"><a id="a59e56af19e754a6aa26a612ebf91d05fa285d1968690ecce05a722324235dc698"></a>E_MISMATCHING_QUREG_DIMENSIONS&#160;</td><td class="fielddoc"></td></tr>
<tr><td class="fieldname"><a id="a59e56af19e754a6aa26a612ebf91d05fa367f0d9cac7623f8ba17542e05d5eda7"></a>E_MISMATCHING_QUREG_TYPES&#160;</td><td class="fielddoc"></td></tr>
<tr><td class="fieldname"><a id="a59e56af19e754a6aa26a612ebf91d05fa35d4f22969f6f2cd2dcaac4d444156ad"></a>E_DEFINED_ONLY_FOR_STATEVECS&#160;</td><td class="fielddoc"></td></tr>
<tr><td class="fieldname"><a id="a59e56af19e754a6aa26a612ebf91d05fa844a7c30a818d9a178f7cdf6f88f6617"></a>E_DEFINED_ONLY_FOR_DENSMATRS&#160;</td><td class="fielddoc"></td></tr>
<tr><td class="fieldname"><a id="a59e56af19e754a6aa26a612ebf91d05fa93bbec0f9fd753287b43a5004606b213"></a>E_INVALID_PROB&#160;</td><td class="fielddoc"></td></tr>
<tr><td class="fieldname"><a id="a59e56af19e754a6aa26a612ebf91d05fad2a2e4be1419543566bf11c54ee17d18"></a>E_UNNORM_PROBS&#160;</td><td class="fielddoc"></td></tr>
<tr><td class="fieldname"><a id="a59e56af19e754a6aa26a612ebf91d05fac90337dfa163170ece2777268e846575"></a>E_INVALID_ONE_QUBIT_DEPHASE_PROB&#160;</td><td class="fielddoc"></td></tr>
<tr><td class="fieldname"><a id="a59e56af19e754a6aa26a612ebf91d05fa117f97d3ec363d812e6062332d58573a"></a>E_INVALID_TWO_QUBIT_DEPHASE_PROB&#160;</td><td class="fielddoc"></td></tr>
<tr><td class="fieldname"><a id="a59e56af19e754a6aa26a612ebf91d05fa3fbe01426a3917a7816c6afd5baaf9aa"></a>E_INVALID_ONE_QUBIT_DEPOL_PROB&#160;</td><td class="fielddoc"></td></tr>
<tr><td class="fieldname"><a id="a59e56af19e754a6aa26a612ebf91d05fae449855c10219deb369b18ed6d1b357d"></a>E_INVALID_TWO_QUBIT_DEPOL_PROB&#160;</td><td class="fielddoc"></td></tr>
<tr><td class="fieldname"><a id="a59e56af19e754a6aa26a612ebf91d05fadb4ac75daa2005c22ae07d400a9e20cc"></a>E_INVALID_ONE_QUBIT_PAULI_PROBS&#160;</td><td class="fielddoc"></td></tr>
<tr><td class="fieldname"><a id="a59e56af19e754a6aa26a612ebf91d05fa6eee1110104338493c11f3abd0933763"></a>E_INVALID_CONTROLS_BIT_STATE&#160;</td><td class="fielddoc"></td></tr>
<tr><td class="fieldname"><a id="a59e56af19e754a6aa26a612ebf91d05faeb4aa6192443b9c627223d7bbb1e4ac2"></a>E_INVALID_PAULI_CODE&#160;</td><td class="fielddoc"></td></tr>
<tr><td class="fieldname"><a id="a59e56af19e754a6aa26a612ebf91d05fab65076ba39122eb37a197c5fe4aa6ecf"></a>E_INVALID_NUM_SUM_TERMS&#160;</td><td class="fielddoc"></td></tr>
<tr><td class="fieldname"><a id="a59e56af19e754a6aa26a612ebf91d05fa3609e43d6776d5df98d5dbac57a5a2c7"></a>E_CANNOT_FIT_MULTI_QUBIT_MATRIX&#160;</td><td class="fielddoc"></td></tr>
<tr><td class="fieldname"><a id="a59e56af19e754a6aa26a612ebf91d05fa2ff2e7eff381c5e42420c65dc6f1bf1e"></a>E_INVALID_UNITARY_SIZE&#160;</td><td class="fielddoc"></td></tr>
<tr><td class="fieldname"><a id="a59e56af19e754a6aa26a612ebf91d05fa025e3e2e76ae746ce80924436de2cefc"></a>E_COMPLEX_MATRIX_NOT_INIT&#160;</td><td class="fielddoc"></td></tr>
<tr><td class="fieldname"><a id="a59e56af19e754a6aa26a612ebf91d05fadf2e13b0b7bb3e72087ba611d23f549c"></a>E_INVALID_NUM_ONE_QUBIT_KRAUS_OPS&#160;</td><td class="fielddoc"></td></tr>
<tr><td class="fieldname"><a id="a59e56af19e754a6aa26a612ebf91d05fa363d5314df582811ec80b214cc2a53d0"></a>E_INVALID_NUM_TWO_QUBIT_KRAUS_OPS&#160;</td><td class="fielddoc"></td></tr>
<tr><td class="fieldname"><a id="a59e56af19e754a6aa26a612ebf91d05fa1c2104582f49728184e1e3fc4ec98b21"></a>E_INVALID_NUM_N_QUBIT_KRAUS_OPS&#160;</td><td class="fielddoc"></td></tr>
<tr><td class="fieldname"><a id="a59e56af19e754a6aa26a612ebf91d05fa2bd3656eccdd1c4e090ba44318407225"></a>E_INVALID_KRAUS_OPS&#160;</td><td class="fielddoc"></td></tr>
<tr><td class="fieldname"><a id="a59e56af19e754a6aa26a612ebf91d05fa7f56b6271ef72a1c53f9e16206c8392c"></a>E_MISMATCHING_NUM_TARGS_KRAUS_SIZE&#160;</td><td class="fielddoc"></td></tr>
<tr><td class="fieldname"><a id="a59e56af19e754a6aa26a612ebf91d05fa2f1baaf37f336275631269f11dce15f9"></a>E_DISTRIB_QUREG_TOO_SMALL&#160;</td><td class="fielddoc"></td></tr>
<tr><td class="fieldname"><a id="a59e56af19e754a6aa26a612ebf91d05faa73d415a59f391dcc373e57db1d0b946"></a>E_DISTRIB_DIAG_OP_TOO_SMALL&#160;</td><td class="fielddoc"></td></tr>
<tr><td class="fieldname"><a id="a59e56af19e754a6aa26a612ebf91d05fa7c7ae480f5dfdfeda702d01dabd2e414"></a>E_NUM_AMPS_EXCEED_TYPE&#160;</td><td class="fielddoc"></td></tr>
<tr><td class="fieldname"><a id="a59e56af19e754a6aa26a612ebf91d05fa09321b3b6d5cfd2c9a6ca002d47a7e4d"></a>E_INVALID_PAULI_HAMIL_PARAMS&#160;</td><td class="fielddoc"></td></tr>
<tr><td class="fieldname"><a id="a59e56af19e754a6aa26a612ebf91d05fa0085d080a49cd935cbd8513c58debee1"></a>E_INVALID_PAULI_HAMIL_FILE_PARAMS&#160;</td><td class="fielddoc"></td></tr>
<tr><td class="fieldname"><a id="a59e56af19e754a6aa26a612ebf91d05faabf2d19483ecb6652a8f6134ec2ccb5b"></a>E_CANNOT_PARSE_PAULI_HAMIL_FILE_COEFF&#160;</td><td class="fielddoc"></td></tr>
<tr><td class="fieldname"><a id="a59e56af19e754a6aa26a612ebf91d05fa878910573f25d8712a49324842dc0c9f"></a>E_CANNOT_PARSE_PAULI_HAMIL_FILE_PAULI&#160;</td><td class="fielddoc"></td></tr>
<tr><td class="fieldname"><a id="a59e56af19e754a6aa26a612ebf91d05fab3f56aa469917f8bc40bf2a64dc970ca"></a>E_INVALID_PAULI_HAMIL_FILE_PAULI_CODE&#160;</td><td class="fielddoc"></td></tr>
<tr><td class="fieldname"><a id="a59e56af19e754a6aa26a612ebf91d05fa4bfb0440c1886f7fd7bdca40fc0fd9e5"></a>E_MISMATCHING_PAULI_HAMIL_QUREG_NUM_QUBITS&#160;</td><td class="fielddoc"></td></tr>
<tr><td class="fieldname"><a id="a59e56af19e754a6aa26a612ebf91d05fa9441b99173f26df8010b1e05c55a7a91"></a>E_INVALID_TROTTER_ORDER&#160;</td><td class="fielddoc"></td></tr>
<tr><td class="fieldname"><a id="a59e56af19e754a6aa26a612ebf91d05fa1cd38647d334bbc89842adac92ea8b6d"></a>E_INVALID_TROTTER_REPS&#160;</td><td class="fielddoc"></td></tr>
<tr><td class="fieldname"><a id="a59e56af19e754a6aa26a612ebf91d05facb4860f9efbeef2af29d92db6bf43531"></a>E_MISMATCHING_QUREG_DIAGONAL_OP_SIZE&#160;</td><td class="fielddoc"></td></tr>
<tr><td class="fieldname"><a id="a59e56af19e754a6aa26a612ebf91d05fa1fb91d002917c5c5bfdab19ec7503acb"></a>E_DIAGONAL_OP_NOT_INITIALISED&#160;</td><td class="fielddoc"></td></tr>
</table>

<p class="definition">Definition at line <a class="el" href="QuEST__validation_8c_source.html#l00032">32</a> of file <a class="el" href="QuEST__validation_8c_source.html">QuEST_validation.c</a>.</p>
<div class="fragment"><div class="line"><a name="l00032"></a><span class="lineno">   32</span>&#160;             {</div>
<div class="line"><a name="l00033"></a><span class="lineno">   33</span>&#160;    <a class="code" href="QuEST__validation_8c.html#a59e56af19e754a6aa26a612ebf91d05fac3121e429a129b2ccb51a92b7c78c4b4">E_SUCCESS</a>=0,</div>
<div class="line"><a name="l00034"></a><span class="lineno">   34</span>&#160;    <a class="code" href="QuEST__validation_8c.html#a59e56af19e754a6aa26a612ebf91d05fa88763fecf89fb1712fb7b219e70bc054">E_INVALID_NUM_RANKS</a>,</div>
<div class="line"><a name="l00035"></a><span class="lineno">   35</span>&#160;    <a class="code" href="QuEST__validation_8c.html#a59e56af19e754a6aa26a612ebf91d05fa842c2a58b36ab64137cc44d22808e6dc">E_INVALID_NUM_CREATE_QUBITS</a>,</div>
<div class="line"><a name="l00036"></a><span class="lineno">   36</span>&#160;    <a class="code" href="QuEST__validation_8c.html#a59e56af19e754a6aa26a612ebf91d05fa2c51e35f9c02c1a9a13c25d433e551a0">E_INVALID_QUBIT_INDEX</a>,</div>
<div class="line"><a name="l00037"></a><span class="lineno">   37</span>&#160;    <a class="code" href="QuEST__validation_8c.html#a59e56af19e754a6aa26a612ebf91d05fa9c12328bf9da962f40c2c91576047b9a">E_INVALID_TARGET_QUBIT</a>,</div>
<div class="line"><a name="l00038"></a><span class="lineno">   38</span>&#160;    <a class="code" href="QuEST__validation_8c.html#a59e56af19e754a6aa26a612ebf91d05fa6dedefbf8fe0aade335d45cb7d47f42b">E_INVALID_CONTROL_QUBIT</a>,</div>
<div class="line"><a name="l00039"></a><span class="lineno">   39</span>&#160;    <a class="code" href="QuEST__validation_8c.html#a59e56af19e754a6aa26a612ebf91d05fa65bef0cc4f53e42ded7d66b62d585e1a">E_INVALID_STATE_INDEX</a>,</div>
<div class="line"><a name="l00040"></a><span class="lineno">   40</span>&#160;    <a class="code" href="QuEST__validation_8c.html#a59e56af19e754a6aa26a612ebf91d05fa16c3d52d803cd7232e5cb56b4c56f734">E_INVALID_AMP_INDEX</a>,</div>
<div class="line"><a name="l00041"></a><span class="lineno">   41</span>&#160;    <a class="code" href="QuEST__validation_8c.html#a59e56af19e754a6aa26a612ebf91d05fa52e5a3163ba2e4656b0810e5c926f409">E_INVALID_ELEM_INDEX</a>,</div>
<div class="line"><a name="l00042"></a><span class="lineno">   42</span>&#160;    <a class="code" href="QuEST__validation_8c.html#a59e56af19e754a6aa26a612ebf91d05fa6e1255a7459c6acab99f6c4f50c3e23e">E_INVALID_NUM_AMPS</a>,</div>
<div class="line"><a name="l00043"></a><span class="lineno">   43</span>&#160;    <a class="code" href="QuEST__validation_8c.html#a59e56af19e754a6aa26a612ebf91d05fab1055b4501c5a9826359a65c59e57a66">E_INVALID_NUM_ELEMS</a>,</div>
<div class="line"><a name="l00044"></a><span class="lineno">   44</span>&#160;    <a class="code" href="QuEST__validation_8c.html#a59e56af19e754a6aa26a612ebf91d05faa44c6dcf43ab594c40c248632e56b434">E_INVALID_OFFSET_NUM_AMPS_QUREG</a>,</div>
<div class="line"><a name="l00045"></a><span class="lineno">   45</span>&#160;    <a class="code" href="QuEST__validation_8c.html#a59e56af19e754a6aa26a612ebf91d05faee49e5e9192447cfb9d44bb4d4619dbc">E_INVALID_OFFSET_NUM_ELEMS_DIAG</a>,</div>
<div class="line"><a name="l00046"></a><span class="lineno">   46</span>&#160;    <a class="code" href="QuEST__validation_8c.html#a59e56af19e754a6aa26a612ebf91d05fa3ba14baf9e1f8b0469c86a7e7be1a81e">E_TARGET_IS_CONTROL</a>,</div>
<div class="line"><a name="l00047"></a><span class="lineno">   47</span>&#160;    <a class="code" href="QuEST__validation_8c.html#a59e56af19e754a6aa26a612ebf91d05fad4f416b9ea063f9aab9d7a93c712b078">E_TARGET_IN_CONTROLS</a>,</div>
<div class="line"><a name="l00048"></a><span class="lineno">   48</span>&#160;    <a class="code" href="QuEST__validation_8c.html#a59e56af19e754a6aa26a612ebf91d05fa6c41bf9336ab1e3dbdbc99e99a5c6450">E_CONTROL_TARGET_COLLISION</a>,</div>
<div class="line"><a name="l00049"></a><span class="lineno">   49</span>&#160;    <a class="code" href="QuEST__validation_8c.html#a59e56af19e754a6aa26a612ebf91d05fa3b62cb7d19be35c8b63dd2bc77d9f423">E_QUBITS_NOT_UNIQUE</a>,</div>
<div class="line"><a name="l00050"></a><span class="lineno">   50</span>&#160;    <a class="code" href="QuEST__validation_8c.html#a59e56af19e754a6aa26a612ebf91d05fa323e5ea1a63ab51abbcf728a1c76b6ab">E_TARGETS_NOT_UNIQUE</a>,</div>
<div class="line"><a name="l00051"></a><span class="lineno">   51</span>&#160;    <a class="code" href="QuEST__validation_8c.html#a59e56af19e754a6aa26a612ebf91d05fae9419d99d88ab7e6e1c486b8ac22f1c6">E_CONTROLS_NOT_UNIQUE</a>,</div>
<div class="line"><a name="l00052"></a><span class="lineno">   52</span>&#160;    <a class="code" href="QuEST__validation_8c.html#a59e56af19e754a6aa26a612ebf91d05fa6cf1f26c653d5953a7e7e4cd2623f9c7">E_INVALID_NUM_QUBITS</a>,</div>
<div class="line"><a name="l00053"></a><span class="lineno">   53</span>&#160;    <a class="code" href="QuEST__validation_8c.html#a59e56af19e754a6aa26a612ebf91d05fa4e515c795506ed87efd89a2ee8957c52">E_INVALID_NUM_TARGETS</a>,</div>
<div class="line"><a name="l00054"></a><span class="lineno">   54</span>&#160;    <a class="code" href="QuEST__validation_8c.html#a59e56af19e754a6aa26a612ebf91d05fa4977c4b1099c2ac41d028050d01e9df4">E_INVALID_NUM_CONTROLS</a>,</div>
<div class="line"><a name="l00055"></a><span class="lineno">   55</span>&#160;    <a class="code" href="QuEST__validation_8c.html#a59e56af19e754a6aa26a612ebf91d05faf5ff674a1ea149739b8642262d11051d">E_NON_UNITARY_MATRIX</a>,</div>
<div class="line"><a name="l00056"></a><span class="lineno">   56</span>&#160;    <a class="code" href="QuEST__validation_8c.html#a59e56af19e754a6aa26a612ebf91d05fa1b0e380f3c20968423b6c3b5bc350844">E_NON_UNITARY_COMPLEX_PAIR</a>,</div>
<div class="line"><a name="l00057"></a><span class="lineno">   57</span>&#160;    <a class="code" href="QuEST__validation_8c.html#a59e56af19e754a6aa26a612ebf91d05fa08ea828707fd3d3ef1304c3871c8fcf9">E_ZERO_VECTOR</a>,</div>
<div class="line"><a name="l00058"></a><span class="lineno">   58</span>&#160;    <a class="code" href="QuEST__validation_8c.html#a59e56af19e754a6aa26a612ebf91d05fade7e7cff05babf532b1848b7198a5432">E_SYS_TOO_BIG_TO_PRINT</a>,</div>
<div class="line"><a name="l00059"></a><span class="lineno">   59</span>&#160;    <a class="code" href="QuEST__validation_8c.html#a59e56af19e754a6aa26a612ebf91d05fa3b66cbbf809dca13ed1f8c417c5c6d58">E_COLLAPSE_STATE_ZERO_PROB</a>,</div>
<div class="line"><a name="l00060"></a><span class="lineno">   60</span>&#160;    <a class="code" href="QuEST__validation_8c.html#a59e56af19e754a6aa26a612ebf91d05faf570526aaa50558c2d9ae5fd74c172e9">E_INVALID_QUBIT_OUTCOME</a>,</div>
<div class="line"><a name="l00061"></a><span class="lineno">   61</span>&#160;    <a class="code" href="QuEST__validation_8c.html#a59e56af19e754a6aa26a612ebf91d05fa7c45e9327d9e46d62c2265e745dd304a">E_CANNOT_OPEN_FILE</a>,</div>
<div class="line"><a name="l00062"></a><span class="lineno">   62</span>&#160;    <a class="code" href="QuEST__validation_8c.html#a59e56af19e754a6aa26a612ebf91d05fa8027a11d972301ce2db1cc3e89fc0d21">E_SECOND_ARG_MUST_BE_STATEVEC</a>,</div>
<div class="line"><a name="l00063"></a><span class="lineno">   63</span>&#160;    <a class="code" href="QuEST__validation_8c.html#a59e56af19e754a6aa26a612ebf91d05fa285d1968690ecce05a722324235dc698">E_MISMATCHING_QUREG_DIMENSIONS</a>,</div>
<div class="line"><a name="l00064"></a><span class="lineno">   64</span>&#160;    <a class="code" href="QuEST__validation_8c.html#a59e56af19e754a6aa26a612ebf91d05fa367f0d9cac7623f8ba17542e05d5eda7">E_MISMATCHING_QUREG_TYPES</a>,</div>
<div class="line"><a name="l00065"></a><span class="lineno">   65</span>&#160;    <a class="code" href="QuEST__validation_8c.html#a59e56af19e754a6aa26a612ebf91d05fa35d4f22969f6f2cd2dcaac4d444156ad">E_DEFINED_ONLY_FOR_STATEVECS</a>,</div>
<div class="line"><a name="l00066"></a><span class="lineno">   66</span>&#160;    <a class="code" href="QuEST__validation_8c.html#a59e56af19e754a6aa26a612ebf91d05fa844a7c30a818d9a178f7cdf6f88f6617">E_DEFINED_ONLY_FOR_DENSMATRS</a>,</div>
<div class="line"><a name="l00067"></a><span class="lineno">   67</span>&#160;    <a class="code" href="QuEST__validation_8c.html#a59e56af19e754a6aa26a612ebf91d05fa93bbec0f9fd753287b43a5004606b213">E_INVALID_PROB</a>,</div>
<div class="line"><a name="l00068"></a><span class="lineno">   68</span>&#160;    <a class="code" href="QuEST__validation_8c.html#a59e56af19e754a6aa26a612ebf91d05fad2a2e4be1419543566bf11c54ee17d18">E_UNNORM_PROBS</a>,</div>
<div class="line"><a name="l00069"></a><span class="lineno">   69</span>&#160;    <a class="code" href="QuEST__validation_8c.html#a59e56af19e754a6aa26a612ebf91d05fac90337dfa163170ece2777268e846575">E_INVALID_ONE_QUBIT_DEPHASE_PROB</a>,</div>
<div class="line"><a name="l00070"></a><span class="lineno">   70</span>&#160;    <a class="code" href="QuEST__validation_8c.html#a59e56af19e754a6aa26a612ebf91d05fa117f97d3ec363d812e6062332d58573a">E_INVALID_TWO_QUBIT_DEPHASE_PROB</a>,</div>
<div class="line"><a name="l00071"></a><span class="lineno">   71</span>&#160;    <a class="code" href="QuEST__validation_8c.html#a59e56af19e754a6aa26a612ebf91d05fa3fbe01426a3917a7816c6afd5baaf9aa">E_INVALID_ONE_QUBIT_DEPOL_PROB</a>,</div>
<div class="line"><a name="l00072"></a><span class="lineno">   72</span>&#160;    <a class="code" href="QuEST__validation_8c.html#a59e56af19e754a6aa26a612ebf91d05fae449855c10219deb369b18ed6d1b357d">E_INVALID_TWO_QUBIT_DEPOL_PROB</a>,</div>
<div class="line"><a name="l00073"></a><span class="lineno">   73</span>&#160;    <a class="code" href="QuEST__validation_8c.html#a59e56af19e754a6aa26a612ebf91d05fadb4ac75daa2005c22ae07d400a9e20cc">E_INVALID_ONE_QUBIT_PAULI_PROBS</a>,</div>
<div class="line"><a name="l00074"></a><span class="lineno">   74</span>&#160;    <a class="code" href="QuEST__validation_8c.html#a59e56af19e754a6aa26a612ebf91d05fa6eee1110104338493c11f3abd0933763">E_INVALID_CONTROLS_BIT_STATE</a>,</div>
<div class="line"><a name="l00075"></a><span class="lineno">   75</span>&#160;    <a class="code" href="QuEST__validation_8c.html#a59e56af19e754a6aa26a612ebf91d05faeb4aa6192443b9c627223d7bbb1e4ac2">E_INVALID_PAULI_CODE</a>,</div>
<div class="line"><a name="l00076"></a><span class="lineno">   76</span>&#160;    <a class="code" href="QuEST__validation_8c.html#a59e56af19e754a6aa26a612ebf91d05fab65076ba39122eb37a197c5fe4aa6ecf">E_INVALID_NUM_SUM_TERMS</a>,</div>
<div class="line"><a name="l00077"></a><span class="lineno">   77</span>&#160;    <a class="code" href="QuEST__validation_8c.html#a59e56af19e754a6aa26a612ebf91d05fa3609e43d6776d5df98d5dbac57a5a2c7">E_CANNOT_FIT_MULTI_QUBIT_MATRIX</a>,</div>
<div class="line"><a name="l00078"></a><span class="lineno">   78</span>&#160;    <a class="code" href="QuEST__validation_8c.html#a59e56af19e754a6aa26a612ebf91d05fa2ff2e7eff381c5e42420c65dc6f1bf1e">E_INVALID_UNITARY_SIZE</a>,</div>
<div class="line"><a name="l00079"></a><span class="lineno">   79</span>&#160;    <a class="code" href="QuEST__validation_8c.html#a59e56af19e754a6aa26a612ebf91d05fa025e3e2e76ae746ce80924436de2cefc">E_COMPLEX_MATRIX_NOT_INIT</a>,</div>
<div class="line"><a name="l00080"></a><span class="lineno">   80</span>&#160;    <a class="code" href="QuEST__validation_8c.html#a59e56af19e754a6aa26a612ebf91d05fadf2e13b0b7bb3e72087ba611d23f549c">E_INVALID_NUM_ONE_QUBIT_KRAUS_OPS</a>,</div>
<div class="line"><a name="l00081"></a><span class="lineno">   81</span>&#160;    <a class="code" href="QuEST__validation_8c.html#a59e56af19e754a6aa26a612ebf91d05fa363d5314df582811ec80b214cc2a53d0">E_INVALID_NUM_TWO_QUBIT_KRAUS_OPS</a>,</div>
<div class="line"><a name="l00082"></a><span class="lineno">   82</span>&#160;    <a class="code" href="QuEST__validation_8c.html#a59e56af19e754a6aa26a612ebf91d05fa1c2104582f49728184e1e3fc4ec98b21">E_INVALID_NUM_N_QUBIT_KRAUS_OPS</a>,</div>
<div class="line"><a name="l00083"></a><span class="lineno">   83</span>&#160;    <a class="code" href="QuEST__validation_8c.html#a59e56af19e754a6aa26a612ebf91d05fa2bd3656eccdd1c4e090ba44318407225">E_INVALID_KRAUS_OPS</a>,</div>
<div class="line"><a name="l00084"></a><span class="lineno">   84</span>&#160;    <a class="code" href="QuEST__validation_8c.html#a59e56af19e754a6aa26a612ebf91d05fa7f56b6271ef72a1c53f9e16206c8392c">E_MISMATCHING_NUM_TARGS_KRAUS_SIZE</a>,</div>
<div class="line"><a name="l00085"></a><span class="lineno">   85</span>&#160;    <a class="code" href="QuEST__validation_8c.html#a59e56af19e754a6aa26a612ebf91d05fa2f1baaf37f336275631269f11dce15f9">E_DISTRIB_QUREG_TOO_SMALL</a>,</div>
<div class="line"><a name="l00086"></a><span class="lineno">   86</span>&#160;    <a class="code" href="QuEST__validation_8c.html#a59e56af19e754a6aa26a612ebf91d05faa73d415a59f391dcc373e57db1d0b946">E_DISTRIB_DIAG_OP_TOO_SMALL</a>,</div>
<div class="line"><a name="l00087"></a><span class="lineno">   87</span>&#160;    <a class="code" href="QuEST__validation_8c.html#a59e56af19e754a6aa26a612ebf91d05fa7c7ae480f5dfdfeda702d01dabd2e414">E_NUM_AMPS_EXCEED_TYPE</a>,</div>
<div class="line"><a name="l00088"></a><span class="lineno">   88</span>&#160;    <a class="code" href="QuEST__validation_8c.html#a59e56af19e754a6aa26a612ebf91d05fa09321b3b6d5cfd2c9a6ca002d47a7e4d">E_INVALID_PAULI_HAMIL_PARAMS</a>,</div>
<div class="line"><a name="l00089"></a><span class="lineno">   89</span>&#160;    <a class="code" href="QuEST__validation_8c.html#a59e56af19e754a6aa26a612ebf91d05fa0085d080a49cd935cbd8513c58debee1">E_INVALID_PAULI_HAMIL_FILE_PARAMS</a>,</div>
<div class="line"><a name="l00090"></a><span class="lineno">   90</span>&#160;    <a class="code" href="QuEST__validation_8c.html#a59e56af19e754a6aa26a612ebf91d05faabf2d19483ecb6652a8f6134ec2ccb5b">E_CANNOT_PARSE_PAULI_HAMIL_FILE_COEFF</a>,</div>
<div class="line"><a name="l00091"></a><span class="lineno">   91</span>&#160;    <a class="code" href="QuEST__validation_8c.html#a59e56af19e754a6aa26a612ebf91d05fa878910573f25d8712a49324842dc0c9f">E_CANNOT_PARSE_PAULI_HAMIL_FILE_PAULI</a>,</div>
<div class="line"><a name="l00092"></a><span class="lineno">   92</span>&#160;    <a class="code" href="QuEST__validation_8c.html#a59e56af19e754a6aa26a612ebf91d05fab3f56aa469917f8bc40bf2a64dc970ca">E_INVALID_PAULI_HAMIL_FILE_PAULI_CODE</a>,</div>
<div class="line"><a name="l00093"></a><span class="lineno">   93</span>&#160;    <a class="code" href="QuEST__validation_8c.html#a59e56af19e754a6aa26a612ebf91d05fa4bfb0440c1886f7fd7bdca40fc0fd9e5">E_MISMATCHING_PAULI_HAMIL_QUREG_NUM_QUBITS</a>,</div>
<div class="line"><a name="l00094"></a><span class="lineno">   94</span>&#160;    <a class="code" href="QuEST__validation_8c.html#a59e56af19e754a6aa26a612ebf91d05fa9441b99173f26df8010b1e05c55a7a91">E_INVALID_TROTTER_ORDER</a>,</div>
<div class="line"><a name="l00095"></a><span class="lineno">   95</span>&#160;    <a class="code" href="QuEST__validation_8c.html#a59e56af19e754a6aa26a612ebf91d05fa1cd38647d334bbc89842adac92ea8b6d">E_INVALID_TROTTER_REPS</a>,</div>
<div class="line"><a name="l00096"></a><span class="lineno">   96</span>&#160;    <a class="code" href="QuEST__validation_8c.html#a59e56af19e754a6aa26a612ebf91d05facb4860f9efbeef2af29d92db6bf43531">E_MISMATCHING_QUREG_DIAGONAL_OP_SIZE</a>,</div>
<div class="line"><a name="l00097"></a><span class="lineno">   97</span>&#160;    <a class="code" href="QuEST__validation_8c.html#a59e56af19e754a6aa26a612ebf91d05fa1fb91d002917c5c5bfdab19ec7503acb">E_DIAGONAL_OP_NOT_INITIALISED</a></div>
<div class="line"><a name="l00098"></a><span class="lineno">   98</span>&#160;} <a class="code" href="QuEST__validation_8c.html#a59e56af19e754a6aa26a612ebf91d05f">ErrorCode</a>;</div>
</div><!-- fragment -->
</div>
</div>
<h2 class="groupheader">Function Documentation</h2>
<a id="aae8c7bcef363e2c9f02eda1e212ac1ce"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aae8c7bcef363e2c9f02eda1e212ac1ce">&#9670;&nbsp;</a></span>areUniqueQubits()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int areUniqueQubits </td>
          <td>(</td>
          <td class="paramtype">int *&#160;</td>
          <td class="paramname"><em>qubits</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>numQubits</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p class="definition">Definition at line <a class="el" href="QuEST__validation_8c_source.html#l00279">279</a> of file <a class="el" href="QuEST__validation_8c_source.html">QuEST_validation.c</a>.</p>
<div class="fragment"><div class="line"><a name="l00279"></a><span class="lineno">  279</span>&#160;                                                {</div>
<div class="line"><a name="l00280"></a><span class="lineno">  280</span>&#160;    <span class="keywordtype">long</span> <span class="keywordtype">long</span> <span class="keywordtype">int</span> mask = 0;</div>
<div class="line"><a name="l00281"></a><span class="lineno">  281</span>&#160;    <span class="keywordtype">long</span> <span class="keywordtype">long</span> <span class="keywordtype">int</span> bit;</div>
<div class="line"><a name="l00282"></a><span class="lineno">  282</span>&#160;    <span class="keywordflow">for</span> (<span class="keywordtype">int</span> q=0; q &lt; numQubits; q++) {</div>
<div class="line"><a name="l00283"></a><span class="lineno">  283</span>&#160;        bit = 1LL &lt;&lt; qubits[q];</div>
<div class="line"><a name="l00284"></a><span class="lineno">  284</span>&#160;        <span class="keywordflow">if</span> (mask &amp; bit)</div>
<div class="line"><a name="l00285"></a><span class="lineno">  285</span>&#160;            <span class="keywordflow">return</span> 0;</div>
<div class="line"><a name="l00286"></a><span class="lineno">  286</span>&#160;        mask |= bit;</div>
<div class="line"><a name="l00287"></a><span class="lineno">  287</span>&#160;    }</div>
<div class="line"><a name="l00288"></a><span class="lineno">  288</span>&#160;    <span class="keywordflow">return</span> 1;</div>
<div class="line"><a name="l00289"></a><span class="lineno">  289</span>&#160;}</div>
</div><!-- fragment -->
<p class="reference">Referenced by <a class="el" href="QuEST__validation_8c_source.html#l00400">validateMultiControls()</a>, <a class="el" href="QuEST__validation_8c_source.html#l00408">validateMultiQubits()</a>, and <a class="el" href="QuEST__validation_8c_source.html#l00392">validateMultiTargets()</a>.</p>

</div>
</div>
<a id="aa37cc778ac42f5350830b90d0292b501"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aa37cc778ac42f5350830b90d0292b501">&#9670;&nbsp;</a></span>exitWithError()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void exitWithError </td>
          <td>(</td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>msg</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>func</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p class="definition">Definition at line <a class="el" href="QuEST__validation_8c_source.html#l00167">167</a> of file <a class="el" href="QuEST__validation_8c_source.html">QuEST_validation.c</a>.</p>
<div class="fragment"><div class="line"><a name="l00167"></a><span class="lineno">  167</span>&#160;                                                      {</div>
<div class="line"><a name="l00168"></a><span class="lineno">  168</span>&#160;    printf(<span class="stringliteral">&quot;!!!\n&quot;</span>);</div>
<div class="line"><a name="l00169"></a><span class="lineno">  169</span>&#160;    printf(<span class="stringliteral">&quot;QuEST Error in function %s: %s\n&quot;</span>, func, msg);</div>
<div class="line"><a name="l00170"></a><span class="lineno">  170</span>&#160;    printf(<span class="stringliteral">&quot;!!!\n&quot;</span>);</div>
<div class="line"><a name="l00171"></a><span class="lineno">  171</span>&#160;    printf(<span class="stringliteral">&quot;exiting..\n&quot;</span>);</div>
<div class="line"><a name="l00172"></a><span class="lineno">  172</span>&#160;    exit(1);</div>
<div class="line"><a name="l00173"></a><span class="lineno">  173</span>&#160;}</div>
</div><!-- fragment -->
<p class="reference">Referenced by <a class="el" href="QuEST__validation_8c_source.html#l00176">invalidQuESTInputError()</a>.</p>

</div>
</div>
<a id="a5229a3bae3449752adbd45de5e2bfc80"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a5229a3bae3449752adbd45de5e2bfc80">&#9670;&nbsp;</a></span>isCompletelyPositiveMap2()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int isCompletelyPositiveMap2 </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structComplexMatrix2.html">ComplexMatrix2</a> *&#160;</td>
          <td class="paramname"><em>ops</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>numOps</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p class="definition">Definition at line <a class="el" href="QuEST__validation_8c_source.html#l00264">264</a> of file <a class="el" href="QuEST__validation_8c_source.html">QuEST_validation.c</a>.</p>
<div class="fragment"><div class="line"><a name="l00264"></a><span class="lineno">  264</span>&#160;                                                              {</div>
<div class="line"><a name="l00265"></a><span class="lineno">  265</span>&#160;    <a class="code" href="QuEST__validation_8c.html#ae11c24ee51a5843fc77deb6fbc075888">macro_isCompletelyPositiveMap</a>(ops, numOps, 2);    </div>
<div class="line"><a name="l00266"></a><span class="lineno">  266</span>&#160;}</div>
</div><!-- fragment -->
<p class="reference">References <a class="el" href="QuEST__validation_8c_source.html#l00246">macro_isCompletelyPositiveMap</a>.</p>

<p class="reference">Referenced by <a class="el" href="QuEST__validation_8c_source.html#l00574">validateOneQubitKrausMap()</a>.</p>

</div>
</div>
<a id="a6cb6ec22af47b86d112320a98925d267"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a6cb6ec22af47b86d112320a98925d267">&#9670;&nbsp;</a></span>isCompletelyPositiveMap4()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int isCompletelyPositiveMap4 </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structComplexMatrix4.html">ComplexMatrix4</a> *&#160;</td>
          <td class="paramname"><em>ops</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>numOps</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p class="definition">Definition at line <a class="el" href="QuEST__validation_8c_source.html#l00267">267</a> of file <a class="el" href="QuEST__validation_8c_source.html">QuEST_validation.c</a>.</p>
<div class="fragment"><div class="line"><a name="l00267"></a><span class="lineno">  267</span>&#160;                                                              {</div>
<div class="line"><a name="l00268"></a><span class="lineno">  268</span>&#160;    <a class="code" href="QuEST__validation_8c.html#ae11c24ee51a5843fc77deb6fbc075888">macro_isCompletelyPositiveMap</a>(ops, numOps, 4);</div>
<div class="line"><a name="l00269"></a><span class="lineno">  269</span>&#160;}</div>
</div><!-- fragment -->
<p class="reference">References <a class="el" href="QuEST__validation_8c_source.html#l00246">macro_isCompletelyPositiveMap</a>.</p>

<p class="reference">Referenced by <a class="el" href="QuEST__validation_8c_source.html#l00586">validateTwoQubitKrausMap()</a>.</p>

</div>
</div>
<a id="aad1590b0f1ed71d267c08642452c0be2"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aad1590b0f1ed71d267c08642452c0be2">&#9670;&nbsp;</a></span>isCompletelyPositiveMapN()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int isCompletelyPositiveMapN </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structComplexMatrixN.html">ComplexMatrixN</a> *&#160;</td>
          <td class="paramname"><em>ops</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>numOps</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p class="definition">Definition at line <a class="el" href="QuEST__validation_8c_source.html#l00270">270</a> of file <a class="el" href="QuEST__validation_8c_source.html">QuEST_validation.c</a>.</p>
<div class="fragment"><div class="line"><a name="l00270"></a><span class="lineno">  270</span>&#160;                                                              {</div>
<div class="line"><a name="l00271"></a><span class="lineno">  271</span>&#160;    <span class="keywordtype">int</span> opDim = 1 &lt;&lt; ops[0].<a class="code" href="structComplexMatrixN.html#a606f7afbc3f65a596bdca21cb43be6a8">numQubits</a>;</div>
<div class="line"><a name="l00272"></a><span class="lineno">  272</span>&#160;    <a class="code" href="QuEST__validation_8c.html#ae11c24ee51a5843fc77deb6fbc075888">macro_isCompletelyPositiveMap</a>(ops, numOps, opDim);</div>
<div class="line"><a name="l00273"></a><span class="lineno">  273</span>&#160;}</div>
</div><!-- fragment -->
<p class="reference">References <a class="el" href="QuEST__validation_8c_source.html#l00246">macro_isCompletelyPositiveMap</a>, and <a class="el" href="QuEST_8h_source.html#l00138">ComplexMatrixN::numQubits</a>.</p>

<p class="reference">Referenced by <a class="el" href="QuEST__validation_8c_source.html#l00598">validateMultiQubitKrausMap()</a>.</p>

</div>
</div>
<a id="a786b1167850b73501c52293fc8ea41fb"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a786b1167850b73501c52293fc8ea41fb">&#9670;&nbsp;</a></span>isComplexPairUnitary()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int isComplexPairUnitary </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structComplex.html">Complex</a>&#160;</td>
          <td class="paramname"><em>alpha</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="structComplex.html">Complex</a>&#160;</td>
          <td class="paramname"><em>beta</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p class="definition">Definition at line <a class="el" href="QuEST__validation_8c_source.html#l00192">192</a> of file <a class="el" href="QuEST__validation_8c_source.html">QuEST_validation.c</a>.</p>
<div class="fragment"><div class="line"><a name="l00192"></a><span class="lineno">  192</span>&#160;                                                      {</div>
<div class="line"><a name="l00193"></a><span class="lineno">  193</span>&#160;    <span class="keywordflow">return</span> ( absReal( -1</div>
<div class="line"><a name="l00194"></a><span class="lineno">  194</span>&#160;                + alpha.<a class="code" href="structComplex.html#ab5b2e2eca02131fc74b289a83636cbe3">real</a>*alpha.<a class="code" href="structComplex.html#ab5b2e2eca02131fc74b289a83636cbe3">real</a> </div>
<div class="line"><a name="l00195"></a><span class="lineno">  195</span>&#160;                + alpha.<a class="code" href="structComplex.html#a84f5439aad0ef495efdd3b4c1c02d27e">imag</a>*alpha.<a class="code" href="structComplex.html#a84f5439aad0ef495efdd3b4c1c02d27e">imag</a></div>
<div class="line"><a name="l00196"></a><span class="lineno">  196</span>&#160;                + beta.<a class="code" href="structComplex.html#ab5b2e2eca02131fc74b289a83636cbe3">real</a>*beta.<a class="code" href="structComplex.html#ab5b2e2eca02131fc74b289a83636cbe3">real</a> </div>
<div class="line"><a name="l00197"></a><span class="lineno">  197</span>&#160;                + beta.<a class="code" href="structComplex.html#a84f5439aad0ef495efdd3b4c1c02d27e">imag</a>*beta.<a class="code" href="structComplex.html#a84f5439aad0ef495efdd3b4c1c02d27e">imag</a>) &lt; REAL_EPS );</div>
<div class="line"><a name="l00198"></a><span class="lineno">  198</span>&#160;}</div>
</div><!-- fragment -->
<p class="reference">References <a class="el" href="QuEST_8h_source.html#l00106">Complex::imag</a>, and <a class="el" href="QuEST_8h_source.html#l00105">Complex::real</a>.</p>

<p class="reference">Referenced by <a class="el" href="QuEST__validation_8c_source.html#l00471">validateUnitaryComplexPair()</a>.</p>

</div>
</div>
<a id="a89307da203a4e1d8bd554fe8dcf5a0fb"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a89307da203a4e1d8bd554fe8dcf5a0fb">&#9670;&nbsp;</a></span>isComplexUnit()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int isComplexUnit </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structComplex.html">Complex</a>&#160;</td>
          <td class="paramname"><em>alpha</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p class="definition">Definition at line <a class="el" href="QuEST__validation_8c_source.html#l00184">184</a> of file <a class="el" href="QuEST__validation_8c_source.html">QuEST_validation.c</a>.</p>
<div class="fragment"><div class="line"><a name="l00184"></a><span class="lineno">  184</span>&#160;                                 {</div>
<div class="line"><a name="l00185"></a><span class="lineno">  185</span>&#160;    <span class="keywordflow">return</span> (absReal(1 - sqrt(alpha.<a class="code" href="structComplex.html#ab5b2e2eca02131fc74b289a83636cbe3">real</a>*alpha.<a class="code" href="structComplex.html#ab5b2e2eca02131fc74b289a83636cbe3">real</a> + alpha.<a class="code" href="structComplex.html#a84f5439aad0ef495efdd3b4c1c02d27e">imag</a>*alpha.<a class="code" href="structComplex.html#a84f5439aad0ef495efdd3b4c1c02d27e">imag</a>)) &lt; REAL_EPS); </div>
<div class="line"><a name="l00186"></a><span class="lineno">  186</span>&#160;}</div>
</div><!-- fragment -->
<p class="reference">References <a class="el" href="QuEST_8h_source.html#l00106">Complex::imag</a>, and <a class="el" href="QuEST_8h_source.html#l00105">Complex::real</a>.</p>

</div>
</div>
<a id="ac018fbf837a5573d9666d3f78c7681d1"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ac018fbf837a5573d9666d3f78c7681d1">&#9670;&nbsp;</a></span>isMatrix2Unitary()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int isMatrix2Unitary </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structComplexMatrix2.html">ComplexMatrix2</a>&#160;</td>
          <td class="paramname"><em>u</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p class="definition">Definition at line <a class="el" href="QuEST__validation_8c_source.html#l00227">227</a> of file <a class="el" href="QuEST__validation_8c_source.html">QuEST_validation.c</a>.</p>
<div class="fragment"><div class="line"><a name="l00227"></a><span class="lineno">  227</span>&#160;                                       {</div>
<div class="line"><a name="l00228"></a><span class="lineno">  228</span>&#160;    <span class="keywordtype">int</span> dim = 2;</div>
<div class="line"><a name="l00229"></a><span class="lineno">  229</span>&#160;    <span class="keywordtype">int</span> retVal;</div>
<div class="line"><a name="l00230"></a><span class="lineno">  230</span>&#160;    <a class="code" href="QuEST__validation_8c.html#a3e60b0d8735a2650dcce92875bc3fe7c">macro_isMatrixUnitary</a>(u, dim, retVal);</div>
<div class="line"><a name="l00231"></a><span class="lineno">  231</span>&#160;    <span class="keywordflow">return</span> retVal;</div>
<div class="line"><a name="l00232"></a><span class="lineno">  232</span>&#160;}</div>
</div><!-- fragment -->
<p class="reference">References <a class="el" href="QuEST__validation_8c_source.html#l00200">macro_isMatrixUnitary</a>.</p>

<p class="reference">Referenced by <a class="el" href="QuEST__validation_8c_source.html#l00441">validateOneQubitUnitaryMatrix()</a>.</p>

</div>
</div>
<a id="a9cd87dda5c7b51ab4ddde09d13df16b3"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a9cd87dda5c7b51ab4ddde09d13df16b3">&#9670;&nbsp;</a></span>isMatrix4Unitary()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int isMatrix4Unitary </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structComplexMatrix4.html">ComplexMatrix4</a>&#160;</td>
          <td class="paramname"><em>u</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p class="definition">Definition at line <a class="el" href="QuEST__validation_8c_source.html#l00233">233</a> of file <a class="el" href="QuEST__validation_8c_source.html">QuEST_validation.c</a>.</p>
<div class="fragment"><div class="line"><a name="l00233"></a><span class="lineno">  233</span>&#160;                                       {</div>
<div class="line"><a name="l00234"></a><span class="lineno">  234</span>&#160;    <span class="keywordtype">int</span> dim = 4;</div>
<div class="line"><a name="l00235"></a><span class="lineno">  235</span>&#160;    <span class="keywordtype">int</span> retVal;</div>
<div class="line"><a name="l00236"></a><span class="lineno">  236</span>&#160;    <a class="code" href="QuEST__validation_8c.html#a3e60b0d8735a2650dcce92875bc3fe7c">macro_isMatrixUnitary</a>(u, dim, retVal);</div>
<div class="line"><a name="l00237"></a><span class="lineno">  237</span>&#160;    <span class="keywordflow">return</span> retVal;</div>
<div class="line"><a name="l00238"></a><span class="lineno">  238</span>&#160;}</div>
</div><!-- fragment -->
<p class="reference">References <a class="el" href="QuEST__validation_8c_source.html#l00200">macro_isMatrixUnitary</a>.</p>

<p class="reference">Referenced by <a class="el" href="QuEST__validation_8c_source.html#l00445">validateTwoQubitUnitaryMatrix()</a>.</p>

</div>
</div>
<a id="a770727d6566c1c94f85bcd63bf5b79cd"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a770727d6566c1c94f85bcd63bf5b79cd">&#9670;&nbsp;</a></span>isMatrixNUnitary()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int isMatrixNUnitary </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structComplexMatrixN.html">ComplexMatrixN</a>&#160;</td>
          <td class="paramname"><em>u</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p class="definition">Definition at line <a class="el" href="QuEST__validation_8c_source.html#l00239">239</a> of file <a class="el" href="QuEST__validation_8c_source.html">QuEST_validation.c</a>.</p>
<div class="fragment"><div class="line"><a name="l00239"></a><span class="lineno">  239</span>&#160;                                       {</div>
<div class="line"><a name="l00240"></a><span class="lineno">  240</span>&#160;    <span class="keywordtype">int</span> dim = 1 &lt;&lt; u.<a class="code" href="structComplexMatrixN.html#a606f7afbc3f65a596bdca21cb43be6a8">numQubits</a>;</div>
<div class="line"><a name="l00241"></a><span class="lineno">  241</span>&#160;    <span class="keywordtype">int</span> retVal;</div>
<div class="line"><a name="l00242"></a><span class="lineno">  242</span>&#160;    <a class="code" href="QuEST__validation_8c.html#a3e60b0d8735a2650dcce92875bc3fe7c">macro_isMatrixUnitary</a>(u, dim, retVal);</div>
<div class="line"><a name="l00243"></a><span class="lineno">  243</span>&#160;    <span class="keywordflow">return</span> retVal;</div>
<div class="line"><a name="l00244"></a><span class="lineno">  244</span>&#160;}</div>
</div><!-- fragment -->
<p class="reference">References <a class="el" href="QuEST__validation_8c_source.html#l00200">macro_isMatrixUnitary</a>, and <a class="el" href="QuEST_8h_source.html#l00138">ComplexMatrixN::numQubits</a>.</p>

<p class="reference">Referenced by <a class="el" href="QuEST__validation_8c_source.html#l00466">validateMultiQubitUnitaryMatrix()</a>.</p>

</div>
</div>
<a id="a81c88e4b0024ab1c24d891267676d215"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a81c88e4b0024ab1c24d891267676d215">&#9670;&nbsp;</a></span>isValidPauliCode()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int isValidPauliCode </td>
          <td>(</td>
          <td class="paramtype">enum <a class="el" href="group__type.html#ga1c703cf89629e4e9c7023cd402d67028">pauliOpType</a>&#160;</td>
          <td class="paramname"><em>code</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p class="definition">Definition at line <a class="el" href="QuEST__validation_8c_source.html#l00275">275</a> of file <a class="el" href="QuEST__validation_8c_source.html">QuEST_validation.c</a>.</p>
<div class="fragment"><div class="line"><a name="l00275"></a><span class="lineno">  275</span>&#160;                                            {</div>
<div class="line"><a name="l00276"></a><span class="lineno">  276</span>&#160;    <span class="keywordflow">return</span> (code==<a class="code" href="group__type.html#gga1c703cf89629e4e9c7023cd402d67028a63800f45b01ccc2608f754aee850bf4a">PAULI_I</a> || code==<a class="code" href="group__type.html#gga1c703cf89629e4e9c7023cd402d67028a7abac7bb5b71e17382014c443244ad5c">PAULI_X</a> || code==<a class="code" href="group__type.html#gga1c703cf89629e4e9c7023cd402d67028a2c64a9aaee27f6bcfef894d159e759bd">PAULI_Y</a> || code==<a class="code" href="group__type.html#gga1c703cf89629e4e9c7023cd402d67028a085c85cff6ba79c52d8b1e61c42ddddf">PAULI_Z</a>);</div>
<div class="line"><a name="l00277"></a><span class="lineno">  277</span>&#160;}</div>
</div><!-- fragment -->
<p class="reference">References <a class="el" href="QuEST_8h_source.html#l00096">PAULI_I</a>, <a class="el" href="QuEST_8h_source.html#l00096">PAULI_X</a>, <a class="el" href="QuEST_8h_source.html#l00096">PAULI_Y</a>, and <a class="el" href="QuEST_8h_source.html#l00096">PAULI_Z</a>.</p>

<p class="reference">Referenced by <a class="el" href="QuEST__validation_8c_source.html#l00657">validateHamilFilePauliCode()</a>, and <a class="el" href="QuEST__validation_8c_source.html#l00563">validatePauliCodes()</a>.</p>

</div>
</div>
<a id="a12883d0394ef02f8d6d36abf328beb02"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a12883d0394ef02f8d6d36abf328beb02">&#9670;&nbsp;</a></span>isVectorUnit()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int isVectorUnit </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="group__type.html#ga7740e349b4f8bae6451547680f0ce2d6">qreal</a>&#160;</td>
          <td class="paramname"><em>ux</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="group__type.html#ga7740e349b4f8bae6451547680f0ce2d6">qreal</a>&#160;</td>
          <td class="paramname"><em>uy</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="group__type.html#ga7740e349b4f8bae6451547680f0ce2d6">qreal</a>&#160;</td>
          <td class="paramname"><em>uz</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p class="definition">Definition at line <a class="el" href="QuEST__validation_8c_source.html#l00188">188</a> of file <a class="el" href="QuEST__validation_8c_source.html">QuEST_validation.c</a>.</p>
<div class="fragment"><div class="line"><a name="l00188"></a><span class="lineno">  188</span>&#160;                                               {</div>
<div class="line"><a name="l00189"></a><span class="lineno">  189</span>&#160;    <span class="keywordflow">return</span> (absReal(1 - sqrt(ux*ux + uy*uy + uz*uz)) &lt; REAL_EPS );</div>
<div class="line"><a name="l00190"></a><span class="lineno">  190</span>&#160;}</div>
</div><!-- fragment -->
</div>
</div>
<a id="a1cd60afc39f9970619db1ba7ca89d258"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a1cd60afc39f9970619db1ba7ca89d258">&#9670;&nbsp;</a></span>QuESTAssert()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void QuESTAssert </td>
          <td>(</td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>isValid</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="QuEST__validation_8c.html#a59e56af19e754a6aa26a612ebf91d05f">ErrorCode</a>&#160;</td>
          <td class="paramname"><em>code</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>func</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p class="definition">Definition at line <a class="el" href="QuEST__validation_8c_source.html#l00180">180</a> of file <a class="el" href="QuEST__validation_8c_source.html">QuEST_validation.c</a>.</p>
<div class="fragment"><div class="line"><a name="l00180"></a><span class="lineno">  180</span>&#160;                                                               {</div>
<div class="line"><a name="l00181"></a><span class="lineno">  181</span>&#160;    <span class="keywordflow">if</span> (!isValid) <a class="code" href="group__debug.html#ga51a64b05d31ef9bcf6a63ce26c0092db">invalidQuESTInputError</a>(<a class="code" href="QuEST__validation_8c.html#a787fcf25439967fcf5b2d23f98589892">errorMessages</a>[code], func);</div>
<div class="line"><a name="l00182"></a><span class="lineno">  182</span>&#160;}</div>
</div><!-- fragment -->
<p class="reference">References <a class="el" href="QuEST__validation_8c_source.html#l00100">errorMessages</a>, and <a class="el" href="QuEST__validation_8c_source.html#l00176">invalidQuESTInputError()</a>.</p>

<p class="reference">Referenced by <a class="el" href="QuEST__validation_8c_source.html#l00346">validateAmpIndex()</a>, <a class="el" href="QuEST__validation_8c_source.html#l00368">validateControl()</a>, <a class="el" href="QuEST__validation_8c_source.html#l00432">validateControlState()</a>, <a class="el" href="QuEST__validation_8c_source.html#l00372">validateControlTarget()</a>, <a class="el" href="QuEST__validation_8c_source.html#l00483">validateDensityMatrQureg()</a>, <a class="el" href="QuEST__validation_8c_source.html#l00677">validateDiagonalOp()</a>, <a class="el" href="QuEST__validation_8c_source.html#l00673">validateDiagOpInit()</a>, <a class="el" href="QuEST__validation_8c_source.html#l00615">validateHamilParams()</a>, <a class="el" href="QuEST__validation_8c_source.html#l00495">validateMatchingQuregDims()</a>, <a class="el" href="QuEST__validation_8c_source.html#l00624">validateMatchingQuregPauliHamilDims()</a>, <a class="el" href="QuEST__validation_8c_source.html#l00499">validateMatchingQuregTypes()</a>, <a class="el" href="QuEST__validation_8c_source.html#l00450">validateMatrixInit()</a>, <a class="el" href="QuEST__validation_8c_source.html#l00491">validateMeasurementProb()</a>, <a class="el" href="QuEST__validation_8c_source.html#l00400">validateMultiControls()</a>, <a class="el" href="QuEST__validation_8c_source.html#l00423">validateMultiControlsMultiTargets()</a>, <a class="el" href="QuEST__validation_8c_source.html#l00416">validateMultiControlsTarget()</a>, <a class="el" href="QuEST__validation_8c_source.html#l00598">validateMultiQubitKrausMap()</a>, <a class="el" href="QuEST__validation_8c_source.html#l00460">validateMultiQubitMatrix()</a>, <a class="el" href="QuEST__validation_8c_source.html#l00437">validateMultiQubitMatrixFitsInNode()</a>, <a class="el" href="QuEST__validation_8c_source.html#l00408">validateMultiQubits()</a>, <a class="el" href="QuEST__validation_8c_source.html#l00466">validateMultiQubitUnitaryMatrix()</a>, <a class="el" href="QuEST__validation_8c_source.html#l00392">validateMultiTargets()</a>, <a class="el" href="QuEST__validation_8c_source.html#l00519">validateNormProbs()</a>, <a class="el" href="QuEST__validation_8c_source.html#l00351">validateNumAmps()</a>, <a class="el" href="QuEST__validation_8c_source.html#l00388">validateNumControls()</a>, <a class="el" href="QuEST__validation_8c_source.html#l00357">validateNumElems()</a>, <a class="el" href="QuEST__validation_8c_source.html#l00570">validateNumPauliSumTerms()</a>, <a class="el" href="QuEST__validation_8c_source.html#l00329">validateNumQubitsInDiagOp()</a>, <a class="el" href="QuEST__validation_8c_source.html#l00325">validateNumQubitsInMatrix()</a>, <a class="el" href="QuEST__validation_8c_source.html#l00313">validateNumQubitsInQureg()</a>, <a class="el" href="QuEST__validation_8c_source.html#l00299">validateNumRanks()</a>, <a class="el" href="QuEST__validation_8c_source.html#l00384">validateNumTargets()</a>, <a class="el" href="QuEST__validation_8c_source.html#l00542">validateOneQubitDampingProb()</a>, <a class="el" href="QuEST__validation_8c_source.html#l00527">validateOneQubitDephaseProb()</a>, <a class="el" href="QuEST__validation_8c_source.html#l00537">validateOneQubitDepolProb()</a>, <a class="el" href="QuEST__validation_8c_source.html#l00574">validateOneQubitKrausMap()</a>, <a class="el" href="QuEST__validation_8c_source.html#l00552">validateOneQubitPauliProbs()</a>, <a class="el" href="QuEST__validation_8c_source.html#l00441">validateOneQubitUnitaryMatrix()</a>, <a class="el" href="QuEST__validation_8c_source.html#l00487">validateOutcome()</a>, <a class="el" href="QuEST__validation_8c_source.html#l00563">validatePauliCodes()</a>, <a class="el" href="QuEST__validation_8c_source.html#l00515">validateProb()</a>, <a class="el" href="QuEST__validation_8c_source.html#l00503">validateSecondQuregStateVec()</a>, <a class="el" href="QuEST__validation_8c_source.html#l00341">validateStateIndex()</a>, <a class="el" href="QuEST__validation_8c_source.html#l00479">validateStateVecQureg()</a>, <a class="el" href="QuEST__validation_8c_source.html#l00364">validateTarget()</a>, <a class="el" href="QuEST__validation_8c_source.html#l00667">validateTrotterParams()</a>, <a class="el" href="QuEST__validation_8c_source.html#l00532">validateTwoQubitDephaseProb()</a>, <a class="el" href="QuEST__validation_8c_source.html#l00547">validateTwoQubitDepolProb()</a>, <a class="el" href="QuEST__validation_8c_source.html#l00586">validateTwoQubitKrausMap()</a>, <a class="el" href="QuEST__validation_8c_source.html#l00445">validateTwoQubitUnitaryMatrix()</a>, <a class="el" href="QuEST__validation_8c_source.html#l00378">validateUniqueTargets()</a>, <a class="el" href="QuEST__validation_8c_source.html#l00471">validateUnitaryComplexPair()</a>, and <a class="el" href="QuEST__validation_8c_source.html#l00475">validateVector()</a>.</p>

</div>
</div>
<a id="a5f87419b253a97f6caadb72b507b9853"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a5f87419b253a97f6caadb72b507b9853">&#9670;&nbsp;</a></span>validateAmpIndex()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void validateAmpIndex </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structQureg.html">Qureg</a>&#160;</td>
          <td class="paramname"><em>qureg</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">long long int&#160;</td>
          <td class="paramname"><em>ampInd</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>caller</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p class="definition">Definition at line <a class="el" href="QuEST__validation_8c_source.html#l00346">346</a> of file <a class="el" href="QuEST__validation_8c_source.html">QuEST_validation.c</a>.</p>
<div class="fragment"><div class="line"><a name="l00346"></a><span class="lineno">  346</span>&#160;                                                                             {</div>
<div class="line"><a name="l00347"></a><span class="lineno">  347</span>&#160;    <span class="keywordtype">long</span> <span class="keywordtype">long</span> <span class="keywordtype">int</span> indMax = 1LL &lt;&lt; qureg.<a class="code" href="structQureg.html#ad08dff5316b8937f4b2a1417591543dc">numQubitsRepresented</a>;</div>
<div class="line"><a name="l00348"></a><span class="lineno">  348</span>&#160;    <a class="code" href="QuEST__validation_8c.html#a1cd60afc39f9970619db1ba7ca89d258">QuESTAssert</a>(ampInd&gt;=0 &amp;&amp; ampInd&lt;indMax, <a class="code" href="QuEST__validation_8c.html#a59e56af19e754a6aa26a612ebf91d05fa16c3d52d803cd7232e5cb56b4c56f734">E_INVALID_AMP_INDEX</a>, caller);</div>
<div class="line"><a name="l00349"></a><span class="lineno">  349</span>&#160;}</div>
</div><!-- fragment -->
<p class="reference">References <a class="el" href="QuEST__validation_8c_source.html#l00040">E_INVALID_AMP_INDEX</a>, <a class="el" href="QuEST_8h_source.html#l00208">Qureg::numQubitsRepresented</a>, and <a class="el" href="QuEST__validation_8c_source.html#l00180">QuESTAssert()</a>.</p>

<p class="reference">Referenced by <a class="el" href="QuEST_8c_source.html#l00699">getAmp()</a>, <a class="el" href="QuEST_8c_source.html#l00709">getDensityAmp()</a>, <a class="el" href="QuEST_8c_source.html#l00685">getImagAmp()</a>, <a class="el" href="QuEST_8c_source.html#l00692">getProbAmp()</a>, <a class="el" href="QuEST_8c_source.html#l00678">getRealAmp()</a>, and <a class="el" href="QuEST__validation_8c_source.html#l00351">validateNumAmps()</a>.</p>

</div>
</div>
<a id="a24aa7eff1427fc87028fbee6e9c42844"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a24aa7eff1427fc87028fbee6e9c42844">&#9670;&nbsp;</a></span>validateControl()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void validateControl </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structQureg.html">Qureg</a>&#160;</td>
          <td class="paramname"><em>qureg</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>controlQubit</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>caller</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p class="definition">Definition at line <a class="el" href="QuEST__validation_8c_source.html#l00368">368</a> of file <a class="el" href="QuEST__validation_8c_source.html">QuEST_validation.c</a>.</p>
<div class="fragment"><div class="line"><a name="l00368"></a><span class="lineno">  368</span>&#160;                                                                        {</div>
<div class="line"><a name="l00369"></a><span class="lineno">  369</span>&#160;    <a class="code" href="QuEST__validation_8c.html#a1cd60afc39f9970619db1ba7ca89d258">QuESTAssert</a>(controlQubit&gt;=0 &amp;&amp; controlQubit&lt;qureg.<a class="code" href="structQureg.html#ad08dff5316b8937f4b2a1417591543dc">numQubitsRepresented</a>, <a class="code" href="QuEST__validation_8c.html#a59e56af19e754a6aa26a612ebf91d05fa6dedefbf8fe0aade335d45cb7d47f42b">E_INVALID_CONTROL_QUBIT</a>, caller);</div>
<div class="line"><a name="l00370"></a><span class="lineno">  370</span>&#160;}</div>
</div><!-- fragment -->
<p class="reference">References <a class="el" href="QuEST__validation_8c_source.html#l00038">E_INVALID_CONTROL_QUBIT</a>, <a class="el" href="QuEST_8h_source.html#l00208">Qureg::numQubitsRepresented</a>, and <a class="el" href="QuEST__validation_8c_source.html#l00180">QuESTAssert()</a>.</p>

<p class="reference">Referenced by <a class="el" href="QuEST__validation_8c_source.html#l00372">validateControlTarget()</a>, and <a class="el" href="QuEST__validation_8c_source.html#l00400">validateMultiControls()</a>.</p>

</div>
</div>
<a id="a0bd6443ea0f5e36738f3b39b72080b6e"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a0bd6443ea0f5e36738f3b39b72080b6e">&#9670;&nbsp;</a></span>validateControlState()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void validateControlState </td>
          <td>(</td>
          <td class="paramtype">int *&#160;</td>
          <td class="paramname"><em>controlState</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>numControlQubits</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>caller</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p class="definition">Definition at line <a class="el" href="QuEST__validation_8c_source.html#l00432">432</a> of file <a class="el" href="QuEST__validation_8c_source.html">QuEST_validation.c</a>.</p>
<div class="fragment"><div class="line"><a name="l00432"></a><span class="lineno">  432</span>&#160;                                                                                       {</div>
<div class="line"><a name="l00433"></a><span class="lineno">  433</span>&#160;    <span class="keywordflow">for</span> (<span class="keywordtype">int</span> i=0; i &lt; numControlQubits; i++)</div>
<div class="line"><a name="l00434"></a><span class="lineno">  434</span>&#160;        <a class="code" href="QuEST__validation_8c.html#a1cd60afc39f9970619db1ba7ca89d258">QuESTAssert</a>(controlState[i] == 0 || controlState[i] == 1, <a class="code" href="QuEST__validation_8c.html#a59e56af19e754a6aa26a612ebf91d05fa6eee1110104338493c11f3abd0933763">E_INVALID_CONTROLS_BIT_STATE</a>, caller);</div>
<div class="line"><a name="l00435"></a><span class="lineno">  435</span>&#160;}</div>
</div><!-- fragment -->
<p class="reference">References <a class="el" href="QuEST__validation_8c_source.html#l00074">E_INVALID_CONTROLS_BIT_STATE</a>, and <a class="el" href="QuEST__validation_8c_source.html#l00180">QuESTAssert()</a>.</p>

<p class="reference">Referenced by <a class="el" href="QuEST_8c_source.html#l00389">multiStateControlledUnitary()</a>.</p>

</div>
</div>
<a id="aefc4a3a9cdb71f6e63bc58ad600e420e"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aefc4a3a9cdb71f6e63bc58ad600e420e">&#9670;&nbsp;</a></span>validateControlTarget()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void validateControlTarget </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structQureg.html">Qureg</a>&#160;</td>
          <td class="paramname"><em>qureg</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>controlQubit</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>targetQubit</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>caller</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p class="definition">Definition at line <a class="el" href="QuEST__validation_8c_source.html#l00372">372</a> of file <a class="el" href="QuEST__validation_8c_source.html">QuEST_validation.c</a>.</p>
<div class="fragment"><div class="line"><a name="l00372"></a><span class="lineno">  372</span>&#160;                                                                                               {</div>
<div class="line"><a name="l00373"></a><span class="lineno">  373</span>&#160;    <a class="code" href="QuEST__validation_8c.html#ac31c45c5a31c523be0eb26abba6cf598">validateTarget</a>(qureg, targetQubit, caller);</div>
<div class="line"><a name="l00374"></a><span class="lineno">  374</span>&#160;    <a class="code" href="QuEST__validation_8c.html#a24aa7eff1427fc87028fbee6e9c42844">validateControl</a>(qureg, controlQubit, caller);</div>
<div class="line"><a name="l00375"></a><span class="lineno">  375</span>&#160;    <a class="code" href="QuEST__validation_8c.html#a1cd60afc39f9970619db1ba7ca89d258">QuESTAssert</a>(controlQubit != targetQubit, <a class="code" href="QuEST__validation_8c.html#a59e56af19e754a6aa26a612ebf91d05fa3ba14baf9e1f8b0469c86a7e7be1a81e">E_TARGET_IS_CONTROL</a>, caller);</div>
<div class="line"><a name="l00376"></a><span class="lineno">  376</span>&#160;}</div>
</div><!-- fragment -->
<p class="reference">References <a class="el" href="QuEST__validation_8c_source.html#l00046">E_TARGET_IS_CONTROL</a>, <a class="el" href="QuEST__validation_8c_source.html#l00180">QuESTAssert()</a>, <a class="el" href="QuEST__validation_8c_source.html#l00368">validateControl()</a>, and <a class="el" href="QuEST__validation_8c_source.html#l00364">validateTarget()</a>.</p>

<p class="reference">Referenced by <a class="el" href="QuEST_8c_source.html#l00418">controlledCompactUnitary()</a>, <a class="el" href="QuEST_8c_source.html#l00525">controlledNot()</a>, <a class="el" href="QuEST_8c_source.html#l00537">controlledPauliY()</a>, <a class="el" href="QuEST_8c_source.html#l00549">controlledPhaseFlip()</a>, <a class="el" href="QuEST_8c_source.html#l00499">controlledPhaseShift()</a>, <a class="el" href="QuEST_8c_source.html#l00588">controlledRotateAroundAxis()</a>, <a class="el" href="QuEST_8c_source.html#l00221">controlledRotateX()</a>, <a class="el" href="QuEST_8c_source.html#l00233">controlledRotateY()</a>, <a class="el" href="QuEST_8c_source.html#l00245">controlledRotateZ()</a>, and <a class="el" href="QuEST_8c_source.html#l00361">controlledUnitary()</a>.</p>

</div>
</div>
<a id="af22919f5190ca1b3b6b52b8f2fb8213b"></a>
<h2 class="memtitle"><span class="permalink"><a href="#af22919f5190ca1b3b6b52b8f2fb8213b">&#9670;&nbsp;</a></span>validateDensityMatrQureg()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void validateDensityMatrQureg </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structQureg.html">Qureg</a>&#160;</td>
          <td class="paramname"><em>qureg</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>caller</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p class="definition">Definition at line <a class="el" href="QuEST__validation_8c_source.html#l00483">483</a> of file <a class="el" href="QuEST__validation_8c_source.html">QuEST_validation.c</a>.</p>
<div class="fragment"><div class="line"><a name="l00483"></a><span class="lineno">  483</span>&#160;                                                               {</div>
<div class="line"><a name="l00484"></a><span class="lineno">  484</span>&#160;    <a class="code" href="QuEST__validation_8c.html#a1cd60afc39f9970619db1ba7ca89d258">QuESTAssert</a>(qureg.<a class="code" href="structQureg.html#acf78445e9435d09f44f0cc832c6aee79">isDensityMatrix</a>, <a class="code" href="QuEST__validation_8c.html#a59e56af19e754a6aa26a612ebf91d05fa844a7c30a818d9a178f7cdf6f88f6617">E_DEFINED_ONLY_FOR_DENSMATRS</a>, caller);</div>
<div class="line"><a name="l00485"></a><span class="lineno">  485</span>&#160;}</div>
</div><!-- fragment -->
<p class="reference">References <a class="el" href="QuEST__validation_8c_source.html#l00066">E_DEFINED_ONLY_FOR_DENSMATRS</a>, <a class="el" href="QuEST_8h_source.html#l00206">Qureg::isDensityMatrix</a>, and <a class="el" href="QuEST__validation_8c_source.html#l00180">QuESTAssert()</a>.</p>

<p class="reference">Referenced by <a class="el" href="QuEST_8c_source.html#l00918">calcDensityInnerProduct()</a>, <a class="el" href="QuEST_8c_source.html#l00988">calcHilbertSchmidtDistance()</a>, <a class="el" href="QuEST_8c_source.html#l00936">calcPurity()</a>, <a class="el" href="QuEST_8c_source.html#l00709">getDensityAmp()</a>, <a class="el" href="QuEST_8c_source.html#l01034">mixDamping()</a>, <a class="el" href="QuEST_8c_source.html#l00772">mixDensityMatrix()</a>, <a class="el" href="QuEST_8c_source.html#l01001">mixDephasing()</a>, <a class="el" href="QuEST_8c_source.html#l01023">mixDepolarising()</a>, <a class="el" href="QuEST_8c_source.html#l01065">mixKrausMap()</a>, <a class="el" href="QuEST_8c_source.html#l01085">mixMultiQubitKrausMap()</a>, <a class="el" href="QuEST_8c_source.html#l01054">mixPauli()</a>, <a class="el" href="QuEST_8c_source.html#l01011">mixTwoQubitDephasing()</a>, <a class="el" href="QuEST_8c_source.html#l01042">mixTwoQubitDepolarising()</a>, and <a class="el" href="QuEST_8c_source.html#l01075">mixTwoQubitKrausMap()</a>.</p>

</div>
</div>
<a id="a8a656a83bf0b44447188d06c2f8114cb"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a8a656a83bf0b44447188d06c2f8114cb">&#9670;&nbsp;</a></span>validateDiagonalOp()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void validateDiagonalOp </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structQureg.html">Qureg</a>&#160;</td>
          <td class="paramname"><em>qureg</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="structDiagonalOp.html">DiagonalOp</a>&#160;</td>
          <td class="paramname"><em>op</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>caller</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p class="definition">Definition at line <a class="el" href="QuEST__validation_8c_source.html#l00677">677</a> of file <a class="el" href="QuEST__validation_8c_source.html">QuEST_validation.c</a>.</p>
<div class="fragment"><div class="line"><a name="l00677"></a><span class="lineno">  677</span>&#160;                                                                        {</div>
<div class="line"><a name="l00678"></a><span class="lineno">  678</span>&#160;    <a class="code" href="QuEST__validation_8c.html#ac5bd32bc24176e616a288ae04752fc9c">validateDiagOpInit</a>(op, caller);</div>
<div class="line"><a name="l00679"></a><span class="lineno">  679</span>&#160;    <a class="code" href="QuEST__validation_8c.html#a1cd60afc39f9970619db1ba7ca89d258">QuESTAssert</a>(qureg.<a class="code" href="structQureg.html#ad08dff5316b8937f4b2a1417591543dc">numQubitsRepresented</a> == op.<a class="code" href="structDiagonalOp.html#a5131eeb67aafb4c19ac98270c3266742">numQubits</a>, <a class="code" href="QuEST__validation_8c.html#a59e56af19e754a6aa26a612ebf91d05facb4860f9efbeef2af29d92db6bf43531">E_MISMATCHING_QUREG_DIAGONAL_OP_SIZE</a>, caller);</div>
<div class="line"><a name="l00680"></a><span class="lineno">  680</span>&#160;}</div>
</div><!-- fragment -->
<p class="reference">References <a class="el" href="QuEST__validation_8c_source.html#l00096">E_MISMATCHING_QUREG_DIAGONAL_OP_SIZE</a>, <a class="el" href="QuEST_8h_source.html#l00181">DiagonalOp::numQubits</a>, <a class="el" href="QuEST_8h_source.html#l00208">Qureg::numQubitsRepresented</a>, <a class="el" href="QuEST__validation_8c_source.html#l00180">QuESTAssert()</a>, and <a class="el" href="QuEST__validation_8c_source.html#l00673">validateDiagOpInit()</a>.</p>

<p class="reference">Referenced by <a class="el" href="QuEST_8c_source.html#l00887">applyDiagonalOp()</a>, and <a class="el" href="QuEST_8c_source.html#l00979">calcExpecDiagonalOp()</a>.</p>

</div>
</div>
<a id="ac5bd32bc24176e616a288ae04752fc9c"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ac5bd32bc24176e616a288ae04752fc9c">&#9670;&nbsp;</a></span>validateDiagOpInit()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void validateDiagOpInit </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structDiagonalOp.html">DiagonalOp</a>&#160;</td>
          <td class="paramname"><em>op</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>caller</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p class="definition">Definition at line <a class="el" href="QuEST__validation_8c_source.html#l00673">673</a> of file <a class="el" href="QuEST__validation_8c_source.html">QuEST_validation.c</a>.</p>
<div class="fragment"><div class="line"><a name="l00673"></a><span class="lineno">  673</span>&#160;                                                           {</div>
<div class="line"><a name="l00674"></a><span class="lineno">  674</span>&#160;    <a class="code" href="QuEST__validation_8c.html#a1cd60afc39f9970619db1ba7ca89d258">QuESTAssert</a>(op.<a class="code" href="structDiagonalOp.html#a1d66088bed235d524cd452b107694d5c">real</a> != NULL &amp;&amp; op.<a class="code" href="structDiagonalOp.html#a85c3f52533efe831bbe40b9a48602388">imag</a> != NULL, <a class="code" href="QuEST__validation_8c.html#a59e56af19e754a6aa26a612ebf91d05fa1fb91d002917c5c5bfdab19ec7503acb">E_DIAGONAL_OP_NOT_INITIALISED</a>, caller);</div>
<div class="line"><a name="l00675"></a><span class="lineno">  675</span>&#160;}</div>
</div><!-- fragment -->
<p class="reference">References <a class="el" href="QuEST__validation_8c_source.html#l00097">E_DIAGONAL_OP_NOT_INITIALISED</a>, <a class="el" href="QuEST_8h_source.html#l00191">DiagonalOp::imag</a>, <a class="el" href="QuEST__validation_8c_source.html#l00180">QuESTAssert()</a>, and <a class="el" href="QuEST_8h_source.html#l00189">DiagonalOp::real</a>.</p>

<p class="reference">Referenced by <a class="el" href="QuEST_8c_source.html#l01273">destroyDiagonalOp()</a>, <a class="el" href="QuEST_8c_source.html#l01286">initDiagonalOp()</a>, <a class="el" href="QuEST_8c_source.html#l01292">setDiagonalOpElems()</a>, <a class="el" href="QuEST_8c_source.html#l01280">syncDiagonalOp()</a>, and <a class="el" href="QuEST__validation_8c_source.html#l00677">validateDiagonalOp()</a>.</p>

</div>
</div>
<a id="a6b9523909701f7bd79f2ab7b56a8e6bd"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a6b9523909701f7bd79f2ab7b56a8e6bd">&#9670;&nbsp;</a></span>validateFileOpened()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void validateFileOpened </td>
          <td>(</td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>opened</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">char *&#160;</td>
          <td class="paramname"><em>fn</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>caller</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p class="definition">Definition at line <a class="el" href="QuEST__validation_8c_source.html#l00507">507</a> of file <a class="el" href="QuEST__validation_8c_source.html">QuEST_validation.c</a>.</p>
<div class="fragment"><div class="line"><a name="l00507"></a><span class="lineno">  507</span>&#160;                                                                  {</div>
<div class="line"><a name="l00508"></a><span class="lineno">  508</span>&#160;    <span class="keywordflow">if</span> (!opened) {</div>
<div class="line"><a name="l00509"></a><span class="lineno">  509</span>&#160;        </div>
<div class="line"><a name="l00510"></a><span class="lineno">  510</span>&#160;        sprintf(<a class="code" href="QuEST__validation_8c.html#a75e57a6f82e7d4c0fda1549da1b38f6d">errMsgBuffer</a>, <a class="code" href="QuEST__validation_8c.html#a787fcf25439967fcf5b2d23f98589892">errorMessages</a>[<a class="code" href="QuEST__validation_8c.html#a59e56af19e754a6aa26a612ebf91d05fa7c45e9327d9e46d62c2265e745dd304a">E_CANNOT_OPEN_FILE</a>], fn);</div>
<div class="line"><a name="l00511"></a><span class="lineno">  511</span>&#160;        <a class="code" href="group__debug.html#ga51a64b05d31ef9bcf6a63ce26c0092db">invalidQuESTInputError</a>(<a class="code" href="QuEST__validation_8c.html#a75e57a6f82e7d4c0fda1549da1b38f6d">errMsgBuffer</a>, caller);</div>
<div class="line"><a name="l00512"></a><span class="lineno">  512</span>&#160;    }</div>
<div class="line"><a name="l00513"></a><span class="lineno">  513</span>&#160;}</div>
</div><!-- fragment -->
<p class="reference">References <a class="el" href="QuEST__validation_8c_source.html#l00061">E_CANNOT_OPEN_FILE</a>, <a class="el" href="QuEST__validation_8c_source.html#l00030">errMsgBuffer</a>, <a class="el" href="QuEST__validation_8c_source.html#l00100">errorMessages</a>, and <a class="el" href="QuEST__validation_8c_source.html#l00176">invalidQuESTInputError()</a>.</p>

<p class="reference">Referenced by <a class="el" href="QuEST_8c_source.html#l01169">createPauliHamilFromFile()</a>, <a class="el" href="QuEST_8c_source.html#l01312">initStateFromSingleFile()</a>, and <a class="el" href="QuEST_8c_source.html#l00103">writeRecordedQASMToFile()</a>.</p>

</div>
</div>
<a id="a03b219da14463416c174c08b027deb31"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a03b219da14463416c174c08b027deb31">&#9670;&nbsp;</a></span>validateHamilFileCoeffParsed()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void validateHamilFileCoeffParsed </td>
          <td>(</td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>parsed</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="structPauliHamil.html">PauliHamil</a>&#160;</td>
          <td class="paramname"><em>h</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">FILE *&#160;</td>
          <td class="paramname"><em>file</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">char *&#160;</td>
          <td class="paramname"><em>fn</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>caller</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p class="definition">Definition at line <a class="el" href="QuEST__validation_8c_source.html#l00637">637</a> of file <a class="el" href="QuEST__validation_8c_source.html">QuEST_validation.c</a>.</p>
<div class="fragment"><div class="line"><a name="l00637"></a><span class="lineno">  637</span>&#160;                                                                                                      {</div>
<div class="line"><a name="l00638"></a><span class="lineno">  638</span>&#160;    <span class="keywordflow">if</span> (!parsed) {</div>
<div class="line"><a name="l00639"></a><span class="lineno">  639</span>&#160;        <a class="code" href="group__type.html#gac1c8ed909b33bd55ae680901006051b6">destroyPauliHamil</a>(h);</div>
<div class="line"><a name="l00640"></a><span class="lineno">  640</span>&#160;        fclose(file);</div>
<div class="line"><a name="l00641"></a><span class="lineno">  641</span>&#160;        </div>
<div class="line"><a name="l00642"></a><span class="lineno">  642</span>&#160;        sprintf(<a class="code" href="QuEST__validation_8c.html#a75e57a6f82e7d4c0fda1549da1b38f6d">errMsgBuffer</a>, <a class="code" href="QuEST__validation_8c.html#a787fcf25439967fcf5b2d23f98589892">errorMessages</a>[<a class="code" href="QuEST__validation_8c.html#a59e56af19e754a6aa26a612ebf91d05faabf2d19483ecb6652a8f6134ec2ccb5b">E_CANNOT_PARSE_PAULI_HAMIL_FILE_COEFF</a>], fn);</div>
<div class="line"><a name="l00643"></a><span class="lineno">  643</span>&#160;        <a class="code" href="group__debug.html#ga51a64b05d31ef9bcf6a63ce26c0092db">invalidQuESTInputError</a>(<a class="code" href="QuEST__validation_8c.html#a75e57a6f82e7d4c0fda1549da1b38f6d">errMsgBuffer</a>, caller);</div>
<div class="line"><a name="l00644"></a><span class="lineno">  644</span>&#160;    }</div>
<div class="line"><a name="l00645"></a><span class="lineno">  645</span>&#160;}</div>
</div><!-- fragment -->
<p class="reference">References <a class="el" href="QuEST_8c_source.html#l01163">destroyPauliHamil()</a>, <a class="el" href="QuEST__validation_8c_source.html#l00090">E_CANNOT_PARSE_PAULI_HAMIL_FILE_COEFF</a>, <a class="el" href="QuEST__validation_8c_source.html#l00030">errMsgBuffer</a>, <a class="el" href="QuEST__validation_8c_source.html#l00100">errorMessages</a>, and <a class="el" href="QuEST__validation_8c_source.html#l00176">invalidQuESTInputError()</a>.</p>

<p class="reference">Referenced by <a class="el" href="QuEST_8c_source.html#l01169">createPauliHamilFromFile()</a>.</p>

</div>
</div>
<a id="a73bb5e6a5dcfba274ce93355d4a04db4"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a73bb5e6a5dcfba274ce93355d4a04db4">&#9670;&nbsp;</a></span>validateHamilFileParams()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void validateHamilFileParams </td>
          <td>(</td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>numQubits</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>numTerms</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">FILE *&#160;</td>
          <td class="paramname"><em>file</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">char *&#160;</td>
          <td class="paramname"><em>fn</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>caller</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p class="definition">Definition at line <a class="el" href="QuEST__validation_8c_source.html#l00628">628</a> of file <a class="el" href="QuEST__validation_8c_source.html">QuEST_validation.c</a>.</p>
<div class="fragment"><div class="line"><a name="l00628"></a><span class="lineno">  628</span>&#160;                                                                                                    {</div>
<div class="line"><a name="l00629"></a><span class="lineno">  629</span>&#160;    <span class="keywordflow">if</span> (!(numQubits &gt; 0 &amp;&amp; numTerms &gt; 0)) {</div>
<div class="line"><a name="l00630"></a><span class="lineno">  630</span>&#160;        fclose(file);</div>
<div class="line"><a name="l00631"></a><span class="lineno">  631</span>&#160; </div>
<div class="line"><a name="l00632"></a><span class="lineno">  632</span>&#160;        sprintf(<a class="code" href="QuEST__validation_8c.html#a75e57a6f82e7d4c0fda1549da1b38f6d">errMsgBuffer</a>, <a class="code" href="QuEST__validation_8c.html#a787fcf25439967fcf5b2d23f98589892">errorMessages</a>[<a class="code" href="QuEST__validation_8c.html#a59e56af19e754a6aa26a612ebf91d05fa0085d080a49cd935cbd8513c58debee1">E_INVALID_PAULI_HAMIL_FILE_PARAMS</a>], fn);</div>
<div class="line"><a name="l00633"></a><span class="lineno">  633</span>&#160;        <a class="code" href="group__debug.html#ga51a64b05d31ef9bcf6a63ce26c0092db">invalidQuESTInputError</a>(<a class="code" href="QuEST__validation_8c.html#a75e57a6f82e7d4c0fda1549da1b38f6d">errMsgBuffer</a>, caller);</div>
<div class="line"><a name="l00634"></a><span class="lineno">  634</span>&#160;    }</div>
<div class="line"><a name="l00635"></a><span class="lineno">  635</span>&#160;}</div>
</div><!-- fragment -->
<p class="reference">References <a class="el" href="QuEST__validation_8c_source.html#l00089">E_INVALID_PAULI_HAMIL_FILE_PARAMS</a>, <a class="el" href="QuEST__validation_8c_source.html#l00030">errMsgBuffer</a>, <a class="el" href="QuEST__validation_8c_source.html#l00100">errorMessages</a>, and <a class="el" href="QuEST__validation_8c_source.html#l00176">invalidQuESTInputError()</a>.</p>

<p class="reference">Referenced by <a class="el" href="QuEST_8c_source.html#l01169">createPauliHamilFromFile()</a>.</p>

</div>
</div>
<a id="a23a0025b20f876844320f40fc02cdb69"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a23a0025b20f876844320f40fc02cdb69">&#9670;&nbsp;</a></span>validateHamilFilePauliCode()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void validateHamilFilePauliCode </td>
          <td>(</td>
          <td class="paramtype">enum <a class="el" href="group__type.html#ga1c703cf89629e4e9c7023cd402d67028">pauliOpType</a>&#160;</td>
          <td class="paramname"><em>code</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="structPauliHamil.html">PauliHamil</a>&#160;</td>
          <td class="paramname"><em>h</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">FILE *&#160;</td>
          <td class="paramname"><em>file</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">char *&#160;</td>
          <td class="paramname"><em>fn</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>caller</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p class="definition">Definition at line <a class="el" href="QuEST__validation_8c_source.html#l00657">657</a> of file <a class="el" href="QuEST__validation_8c_source.html">QuEST_validation.c</a>.</p>
<div class="fragment"><div class="line"><a name="l00657"></a><span class="lineno">  657</span>&#160;                                                                                                               {</div>
<div class="line"><a name="l00658"></a><span class="lineno">  658</span>&#160;    <span class="keywordflow">if</span> (!<a class="code" href="QuEST__validation_8c.html#a81c88e4b0024ab1c24d891267676d215">isValidPauliCode</a>(code)) {</div>
<div class="line"><a name="l00659"></a><span class="lineno">  659</span>&#160;        <a class="code" href="group__type.html#gac1c8ed909b33bd55ae680901006051b6">destroyPauliHamil</a>(h);</div>
<div class="line"><a name="l00660"></a><span class="lineno">  660</span>&#160;        fclose(file);</div>
<div class="line"><a name="l00661"></a><span class="lineno">  661</span>&#160;        </div>
<div class="line"><a name="l00662"></a><span class="lineno">  662</span>&#160;        sprintf(<a class="code" href="QuEST__validation_8c.html#a75e57a6f82e7d4c0fda1549da1b38f6d">errMsgBuffer</a>, <a class="code" href="QuEST__validation_8c.html#a787fcf25439967fcf5b2d23f98589892">errorMessages</a>[<a class="code" href="QuEST__validation_8c.html#a59e56af19e754a6aa26a612ebf91d05fab3f56aa469917f8bc40bf2a64dc970ca">E_INVALID_PAULI_HAMIL_FILE_PAULI_CODE</a>], fn, code);</div>
<div class="line"><a name="l00663"></a><span class="lineno">  663</span>&#160;        <a class="code" href="group__debug.html#ga51a64b05d31ef9bcf6a63ce26c0092db">invalidQuESTInputError</a>(<a class="code" href="QuEST__validation_8c.html#a75e57a6f82e7d4c0fda1549da1b38f6d">errMsgBuffer</a>, caller);</div>
<div class="line"><a name="l00664"></a><span class="lineno">  664</span>&#160;    }</div>
<div class="line"><a name="l00665"></a><span class="lineno">  665</span>&#160;}</div>
</div><!-- fragment -->
<p class="reference">References <a class="el" href="QuEST_8c_source.html#l01163">destroyPauliHamil()</a>, <a class="el" href="QuEST__validation_8c_source.html#l00092">E_INVALID_PAULI_HAMIL_FILE_PAULI_CODE</a>, <a class="el" href="QuEST__validation_8c_source.html#l00030">errMsgBuffer</a>, <a class="el" href="QuEST__validation_8c_source.html#l00100">errorMessages</a>, <a class="el" href="QuEST__validation_8c_source.html#l00176">invalidQuESTInputError()</a>, and <a class="el" href="QuEST__validation_8c_source.html#l00275">isValidPauliCode()</a>.</p>

<p class="reference">Referenced by <a class="el" href="QuEST_8c_source.html#l01169">createPauliHamilFromFile()</a>.</p>

</div>
</div>
<a id="aab522b9871ea39eaf76d36850817e5bc"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aab522b9871ea39eaf76d36850817e5bc">&#9670;&nbsp;</a></span>validateHamilFilePauliParsed()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void validateHamilFilePauliParsed </td>
          <td>(</td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>parsed</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="structPauliHamil.html">PauliHamil</a>&#160;</td>
          <td class="paramname"><em>h</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">FILE *&#160;</td>
          <td class="paramname"><em>file</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">char *&#160;</td>
          <td class="paramname"><em>fn</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>caller</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p class="definition">Definition at line <a class="el" href="QuEST__validation_8c_source.html#l00647">647</a> of file <a class="el" href="QuEST__validation_8c_source.html">QuEST_validation.c</a>.</p>
<div class="fragment"><div class="line"><a name="l00647"></a><span class="lineno">  647</span>&#160;                                                                                                      {</div>
<div class="line"><a name="l00648"></a><span class="lineno">  648</span>&#160;    <span class="keywordflow">if</span> (!parsed) {</div>
<div class="line"><a name="l00649"></a><span class="lineno">  649</span>&#160;        <a class="code" href="group__type.html#gac1c8ed909b33bd55ae680901006051b6">destroyPauliHamil</a>(h);</div>
<div class="line"><a name="l00650"></a><span class="lineno">  650</span>&#160;        fclose(file);</div>
<div class="line"><a name="l00651"></a><span class="lineno">  651</span>&#160;        </div>
<div class="line"><a name="l00652"></a><span class="lineno">  652</span>&#160;        sprintf(<a class="code" href="QuEST__validation_8c.html#a75e57a6f82e7d4c0fda1549da1b38f6d">errMsgBuffer</a>, <a class="code" href="QuEST__validation_8c.html#a787fcf25439967fcf5b2d23f98589892">errorMessages</a>[<a class="code" href="QuEST__validation_8c.html#a59e56af19e754a6aa26a612ebf91d05fa878910573f25d8712a49324842dc0c9f">E_CANNOT_PARSE_PAULI_HAMIL_FILE_PAULI</a>], fn);</div>
<div class="line"><a name="l00653"></a><span class="lineno">  653</span>&#160;        <a class="code" href="group__debug.html#ga51a64b05d31ef9bcf6a63ce26c0092db">invalidQuESTInputError</a>(<a class="code" href="QuEST__validation_8c.html#a75e57a6f82e7d4c0fda1549da1b38f6d">errMsgBuffer</a>, caller);</div>
<div class="line"><a name="l00654"></a><span class="lineno">  654</span>&#160;    }</div>
<div class="line"><a name="l00655"></a><span class="lineno">  655</span>&#160;}</div>
</div><!-- fragment -->
<p class="reference">References <a class="el" href="QuEST_8c_source.html#l01163">destroyPauliHamil()</a>, <a class="el" href="QuEST__validation_8c_source.html#l00091">E_CANNOT_PARSE_PAULI_HAMIL_FILE_PAULI</a>, <a class="el" href="QuEST__validation_8c_source.html#l00030">errMsgBuffer</a>, <a class="el" href="QuEST__validation_8c_source.html#l00100">errorMessages</a>, and <a class="el" href="QuEST__validation_8c_source.html#l00176">invalidQuESTInputError()</a>.</p>

<p class="reference">Referenced by <a class="el" href="QuEST_8c_source.html#l01169">createPauliHamilFromFile()</a>.</p>

</div>
</div>
<a id="a7de9c41e77487a2939ed076f0cf674e7"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a7de9c41e77487a2939ed076f0cf674e7">&#9670;&nbsp;</a></span>validateHamilParams()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void validateHamilParams </td>
          <td>(</td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>numQubits</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>numTerms</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>caller</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p class="definition">Definition at line <a class="el" href="QuEST__validation_8c_source.html#l00615">615</a> of file <a class="el" href="QuEST__validation_8c_source.html">QuEST_validation.c</a>.</p>
<div class="fragment"><div class="line"><a name="l00615"></a><span class="lineno">  615</span>&#160;                                                                          {</div>
<div class="line"><a name="l00616"></a><span class="lineno">  616</span>&#160;    <a class="code" href="QuEST__validation_8c.html#a1cd60afc39f9970619db1ba7ca89d258">QuESTAssert</a>(numQubits &gt; 0 &amp;&amp; numTerms &gt; 0, <a class="code" href="QuEST__validation_8c.html#a59e56af19e754a6aa26a612ebf91d05fa09321b3b6d5cfd2c9a6ca002d47a7e4d">E_INVALID_PAULI_HAMIL_PARAMS</a>, caller);</div>
<div class="line"><a name="l00617"></a><span class="lineno">  617</span>&#160;}</div>
</div><!-- fragment -->
<p class="reference">References <a class="el" href="QuEST__validation_8c_source.html#l00088">E_INVALID_PAULI_HAMIL_PARAMS</a>, and <a class="el" href="QuEST__validation_8c_source.html#l00180">QuESTAssert()</a>.</p>

<p class="reference">Referenced by <a class="el" href="QuEST_8c_source.html#l01147">createPauliHamil()</a>, <a class="el" href="QuEST_8c_source.html#l01253">initPauliHamil()</a>, and <a class="el" href="QuEST__validation_8c_source.html#l00619">validatePauliHamil()</a>.</p>

</div>
</div>
<a id="a87d22240ccfd81827a2a34b8d569d347"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a87d22240ccfd81827a2a34b8d569d347">&#9670;&nbsp;</a></span>validateMatchingQuregDims()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void validateMatchingQuregDims </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structQureg.html">Qureg</a>&#160;</td>
          <td class="paramname"><em>qureg1</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="structQureg.html">Qureg</a>&#160;</td>
          <td class="paramname"><em>qureg2</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>caller</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p class="definition">Definition at line <a class="el" href="QuEST__validation_8c_source.html#l00495">495</a> of file <a class="el" href="QuEST__validation_8c_source.html">QuEST_validation.c</a>.</p>
<div class="fragment"><div class="line"><a name="l00495"></a><span class="lineno">  495</span>&#160;                                                                               {</div>
<div class="line"><a name="l00496"></a><span class="lineno">  496</span>&#160;    <a class="code" href="QuEST__validation_8c.html#a1cd60afc39f9970619db1ba7ca89d258">QuESTAssert</a>(qureg1.<a class="code" href="structQureg.html#ad08dff5316b8937f4b2a1417591543dc">numQubitsRepresented</a>==qureg2.<a class="code" href="structQureg.html#ad08dff5316b8937f4b2a1417591543dc">numQubitsRepresented</a>, <a class="code" href="QuEST__validation_8c.html#a59e56af19e754a6aa26a612ebf91d05fa285d1968690ecce05a722324235dc698">E_MISMATCHING_QUREG_DIMENSIONS</a>, caller);</div>
<div class="line"><a name="l00497"></a><span class="lineno">  497</span>&#160;}</div>
</div><!-- fragment -->
<p class="reference">References <a class="el" href="QuEST__validation_8c_source.html#l00063">E_MISMATCHING_QUREG_DIMENSIONS</a>, <a class="el" href="QuEST_8h_source.html#l00208">Qureg::numQubitsRepresented</a>, and <a class="el" href="QuEST__validation_8c_source.html#l00180">QuESTAssert()</a>.</p>

<p class="reference">Referenced by <a class="el" href="QuEST_8c_source.html#l00819">applyPauliHamil()</a>, <a class="el" href="QuEST_8c_source.html#l00808">applyPauliSum()</a>, <a class="el" href="QuEST_8c_source.html#l00918">calcDensityInnerProduct()</a>, <a class="el" href="QuEST_8c_source.html#l00970">calcExpecPauliHamil()</a>, <a class="el" href="QuEST_8c_source.html#l00952">calcExpecPauliProd()</a>, <a class="el" href="QuEST_8c_source.html#l00961">calcExpecPauliSum()</a>, <a class="el" href="QuEST_8c_source.html#l00942">calcFidelity()</a>, <a class="el" href="QuEST_8c_source.html#l00988">calcHilbertSchmidtDistance()</a>, <a class="el" href="QuEST_8c_source.html#l00910">calcInnerProduct()</a>, <a class="el" href="QuEST_8c_source.html#l00165">cloneQureg()</a>, <a class="el" href="QuEST_8c_source.html#l01303">compareStates()</a>, <a class="el" href="QuEST_8c_source.html#l00145">initPureState()</a>, <a class="el" href="QuEST_8c_source.html#l00772">mixDensityMatrix()</a>, and <a class="el" href="QuEST_8c_source.html#l00797">setWeightedQureg()</a>.</p>

</div>
</div>
<a id="a2b88b068a8242ee28da42c7324cdd078"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a2b88b068a8242ee28da42c7324cdd078">&#9670;&nbsp;</a></span>validateMatchingQuregPauliHamilDims()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void validateMatchingQuregPauliHamilDims </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structQureg.html">Qureg</a>&#160;</td>
          <td class="paramname"><em>qureg</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="structPauliHamil.html">PauliHamil</a>&#160;</td>
          <td class="paramname"><em>hamil</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>caller</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p class="definition">Definition at line <a class="el" href="QuEST__validation_8c_source.html#l00624">624</a> of file <a class="el" href="QuEST__validation_8c_source.html">QuEST_validation.c</a>.</p>
<div class="fragment"><div class="line"><a name="l00624"></a><span class="lineno">  624</span>&#160;                                                                                            {</div>
<div class="line"><a name="l00625"></a><span class="lineno">  625</span>&#160;    <a class="code" href="QuEST__validation_8c.html#a1cd60afc39f9970619db1ba7ca89d258">QuESTAssert</a>(hamil.<a class="code" href="structPauliHamil.html#acb49fff0e3160ea1904c9ca34408b4e1">numQubits</a> == qureg.<a class="code" href="structQureg.html#ad08dff5316b8937f4b2a1417591543dc">numQubitsRepresented</a>, <a class="code" href="QuEST__validation_8c.html#a59e56af19e754a6aa26a612ebf91d05fa4bfb0440c1886f7fd7bdca40fc0fd9e5">E_MISMATCHING_PAULI_HAMIL_QUREG_NUM_QUBITS</a>, caller);</div>
<div class="line"><a name="l00626"></a><span class="lineno">  626</span>&#160;}</div>
</div><!-- fragment -->
<p class="reference">References <a class="el" href="QuEST__validation_8c_source.html#l00093">E_MISMATCHING_PAULI_HAMIL_QUREG_NUM_QUBITS</a>, <a class="el" href="QuEST_8h_source.html#l00168">PauliHamil::numQubits</a>, <a class="el" href="QuEST_8h_source.html#l00208">Qureg::numQubitsRepresented</a>, and <a class="el" href="QuEST__validation_8c_source.html#l00180">QuESTAssert()</a>.</p>

<p class="reference">Referenced by <a class="el" href="QuEST_8c_source.html#l00819">applyPauliHamil()</a>, <a class="el" href="QuEST_8c_source.html#l00830">applyTrotterCircuit()</a>, and <a class="el" href="QuEST_8c_source.html#l00970">calcExpecPauliHamil()</a>.</p>

</div>
</div>
<a id="a031812e1cf2c98d72d795cea7bbe73a5"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a031812e1cf2c98d72d795cea7bbe73a5">&#9670;&nbsp;</a></span>validateMatchingQuregTypes()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void validateMatchingQuregTypes </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structQureg.html">Qureg</a>&#160;</td>
          <td class="paramname"><em>qureg1</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="structQureg.html">Qureg</a>&#160;</td>
          <td class="paramname"><em>qureg2</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>caller</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p class="definition">Definition at line <a class="el" href="QuEST__validation_8c_source.html#l00499">499</a> of file <a class="el" href="QuEST__validation_8c_source.html">QuEST_validation.c</a>.</p>
<div class="fragment"><div class="line"><a name="l00499"></a><span class="lineno">  499</span>&#160;                                                                                {</div>
<div class="line"><a name="l00500"></a><span class="lineno">  500</span>&#160;    <a class="code" href="QuEST__validation_8c.html#a1cd60afc39f9970619db1ba7ca89d258">QuESTAssert</a>(qureg1.<a class="code" href="structQureg.html#acf78445e9435d09f44f0cc832c6aee79">isDensityMatrix</a>==qureg2.<a class="code" href="structQureg.html#acf78445e9435d09f44f0cc832c6aee79">isDensityMatrix</a>, <a class="code" href="QuEST__validation_8c.html#a59e56af19e754a6aa26a612ebf91d05fa367f0d9cac7623f8ba17542e05d5eda7">E_MISMATCHING_QUREG_TYPES</a>, caller);</div>
<div class="line"><a name="l00501"></a><span class="lineno">  501</span>&#160;}</div>
</div><!-- fragment -->
<p class="reference">References <a class="el" href="QuEST__validation_8c_source.html#l00064">E_MISMATCHING_QUREG_TYPES</a>, <a class="el" href="QuEST_8h_source.html#l00206">Qureg::isDensityMatrix</a>, and <a class="el" href="QuEST__validation_8c_source.html#l00180">QuESTAssert()</a>.</p>

<p class="reference">Referenced by <a class="el" href="QuEST_8c_source.html#l00819">applyPauliHamil()</a>, <a class="el" href="QuEST_8c_source.html#l00808">applyPauliSum()</a>, <a class="el" href="QuEST_8c_source.html#l00970">calcExpecPauliHamil()</a>, <a class="el" href="QuEST_8c_source.html#l00952">calcExpecPauliProd()</a>, <a class="el" href="QuEST_8c_source.html#l00961">calcExpecPauliSum()</a>, <a class="el" href="QuEST_8c_source.html#l00165">cloneQureg()</a>, and <a class="el" href="QuEST_8c_source.html#l00797">setWeightedQureg()</a>.</p>

</div>
</div>
<a id="a6a3d99bc780707a90120a78a6e203792"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a6a3d99bc780707a90120a78a6e203792">&#9670;&nbsp;</a></span>validateMatrixInit()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void validateMatrixInit </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structComplexMatrixN.html">ComplexMatrixN</a>&#160;</td>
          <td class="paramname"><em>matr</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>caller</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p class="definition">Definition at line <a class="el" href="QuEST__validation_8c_source.html#l00450">450</a> of file <a class="el" href="QuEST__validation_8c_source.html">QuEST_validation.c</a>.</p>
<div class="fragment"><div class="line"><a name="l00450"></a><span class="lineno">  450</span>&#160;                                                                 {</div>
<div class="line"><a name="l00451"></a><span class="lineno">  451</span>&#160;    </div>
<div class="line"><a name="l00452"></a><span class="lineno">  452</span>&#160;    <span class="comment">/* note that for (most) compilers which don&#39;t automatically initialise </span></div>
<div class="line"><a name="l00453"></a><span class="lineno">  453</span>&#160;<span class="comment">     * pointers to NULL, this can only be used to check the mallocs in createComplexMatrixN</span></div>
<div class="line"><a name="l00454"></a><span class="lineno">  454</span>&#160;<span class="comment">     * succeeded. It can not be used to differentiate whether a user actually attempted </span></div>
<div class="line"><a name="l00455"></a><span class="lineno">  455</span>&#160;<span class="comment">     * to initialise or create their ComplexMatrixN instance.</span></div>
<div class="line"><a name="l00456"></a><span class="lineno">  456</span>&#160;<span class="comment">     */</span></div>
<div class="line"><a name="l00457"></a><span class="lineno">  457</span>&#160;    <a class="code" href="QuEST__validation_8c.html#a1cd60afc39f9970619db1ba7ca89d258">QuESTAssert</a>(matr.<a class="code" href="structComplexMatrixN.html#a446e8a077597e4f76049d547df0c9738">real</a> != NULL &amp;&amp; matr.<a class="code" href="structComplexMatrixN.html#afde13e469a3b4f179f45e53d1ec0a7cf">imag</a> != NULL, <a class="code" href="QuEST__validation_8c.html#a59e56af19e754a6aa26a612ebf91d05fa025e3e2e76ae746ce80924436de2cefc">E_COMPLEX_MATRIX_NOT_INIT</a>, caller);</div>
<div class="line"><a name="l00458"></a><span class="lineno">  458</span>&#160;}</div>
</div><!-- fragment -->
<p class="reference">References <a class="el" href="QuEST__validation_8c_source.html#l00079">E_COMPLEX_MATRIX_NOT_INIT</a>, <a class="el" href="QuEST_8h_source.html#l00140">ComplexMatrixN::imag</a>, <a class="el" href="QuEST__validation_8c_source.html#l00180">QuESTAssert()</a>, and <a class="el" href="QuEST_8h_source.html#l00139">ComplexMatrixN::real</a>.</p>

<p class="reference">Referenced by <a class="el" href="QuEST_8c_source.html#l01099">createComplexMatrixN()</a>, <a class="el" href="QuEST_8c_source.html#l01120">destroyComplexMatrixN()</a>, <a class="el" href="QuEST_8c_source.html#l01136">initComplexMatrixN()</a>, <a class="el" href="QuEST__validation_8c_source.html#l00598">validateMultiQubitKrausMap()</a>, and <a class="el" href="QuEST__validation_8c_source.html#l00460">validateMultiQubitMatrix()</a>.</p>

</div>
</div>
<a id="a8accabb8a9d573c2ff80305841c3053d"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a8accabb8a9d573c2ff80305841c3053d">&#9670;&nbsp;</a></span>validateMeasurementProb()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void validateMeasurementProb </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="group__type.html#ga7740e349b4f8bae6451547680f0ce2d6">qreal</a>&#160;</td>
          <td class="paramname"><em>prob</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>caller</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p class="definition">Definition at line <a class="el" href="QuEST__validation_8c_source.html#l00491">491</a> of file <a class="el" href="QuEST__validation_8c_source.html">QuEST_validation.c</a>.</p>
<div class="fragment"><div class="line"><a name="l00491"></a><span class="lineno">  491</span>&#160;                                                             {</div>
<div class="line"><a name="l00492"></a><span class="lineno">  492</span>&#160;    <a class="code" href="QuEST__validation_8c.html#a1cd60afc39f9970619db1ba7ca89d258">QuESTAssert</a>(prob&gt;REAL_EPS, <a class="code" href="QuEST__validation_8c.html#a59e56af19e754a6aa26a612ebf91d05fa3b66cbbf809dca13ed1f8c417c5c6d58">E_COLLAPSE_STATE_ZERO_PROB</a>, caller);</div>
<div class="line"><a name="l00493"></a><span class="lineno">  493</span>&#160;}</div>
</div><!-- fragment -->
<p class="reference">References <a class="el" href="QuEST__validation_8c_source.html#l00059">E_COLLAPSE_STATE_ZERO_PROB</a>, and <a class="el" href="QuEST__validation_8c_source.html#l00180">QuESTAssert()</a>.</p>

<p class="reference">Referenced by <a class="el" href="QuEST_8c_source.html#l00726">collapseToOutcome()</a>.</p>

</div>
</div>
<a id="adbe2e1f7f7536cb6dcc60f7378154e79"></a>
<h2 class="memtitle"><span class="permalink"><a href="#adbe2e1f7f7536cb6dcc60f7378154e79">&#9670;&nbsp;</a></span>validateMultiControls()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void validateMultiControls </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structQureg.html">Qureg</a>&#160;</td>
          <td class="paramname"><em>qureg</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int *&#160;</td>
          <td class="paramname"><em>controlQubits</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>numControlQubits</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>caller</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p class="definition">Definition at line <a class="el" href="QuEST__validation_8c_source.html#l00400">400</a> of file <a class="el" href="QuEST__validation_8c_source.html">QuEST_validation.c</a>.</p>
<div class="fragment"><div class="line"><a name="l00400"></a><span class="lineno">  400</span>&#160;                                                                                                      {</div>
<div class="line"><a name="l00401"></a><span class="lineno">  401</span>&#160;    <a class="code" href="QuEST__validation_8c.html#a4f00b6d48e55ce489c6035e16b606a8a">validateNumControls</a>(qureg, numControlQubits, caller);</div>
<div class="line"><a name="l00402"></a><span class="lineno">  402</span>&#160;    <span class="keywordflow">for</span> (<span class="keywordtype">int</span> i=0; i &lt; numControlQubits; i++)</div>
<div class="line"><a name="l00403"></a><span class="lineno">  403</span>&#160;        <a class="code" href="QuEST__validation_8c.html#a24aa7eff1427fc87028fbee6e9c42844">validateControl</a>(qureg, controlQubits[i], caller);</div>
<div class="line"><a name="l00404"></a><span class="lineno">  404</span>&#160;        </div>
<div class="line"><a name="l00405"></a><span class="lineno">  405</span>&#160;    <a class="code" href="QuEST__validation_8c.html#a1cd60afc39f9970619db1ba7ca89d258">QuESTAssert</a>(<a class="code" href="QuEST__validation_8c.html#aae8c7bcef363e2c9f02eda1e212ac1ce">areUniqueQubits</a>(controlQubits, numControlQubits), <a class="code" href="QuEST__validation_8c.html#a59e56af19e754a6aa26a612ebf91d05fae9419d99d88ab7e6e1c486b8ac22f1c6">E_CONTROLS_NOT_UNIQUE</a>, caller);</div>
<div class="line"><a name="l00406"></a><span class="lineno">  406</span>&#160;}</div>
</div><!-- fragment -->
<p class="reference">References <a class="el" href="QuEST__validation_8c_source.html#l00279">areUniqueQubits()</a>, <a class="el" href="QuEST__validation_8c_source.html#l00051">E_CONTROLS_NOT_UNIQUE</a>, <a class="el" href="QuEST__validation_8c_source.html#l00180">QuESTAssert()</a>, <a class="el" href="QuEST__validation_8c_source.html#l00368">validateControl()</a>, and <a class="el" href="QuEST__validation_8c_source.html#l00388">validateNumControls()</a>.</p>

<p class="reference">Referenced by <a class="el" href="QuEST__validation_8c_source.html#l00423">validateMultiControlsMultiTargets()</a>, and <a class="el" href="QuEST__validation_8c_source.html#l00416">validateMultiControlsTarget()</a>.</p>

</div>
</div>
<a id="a5b0392701c555a898403f80ef4a32f62"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a5b0392701c555a898403f80ef4a32f62">&#9670;&nbsp;</a></span>validateMultiControlsMultiTargets()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void validateMultiControlsMultiTargets </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structQureg.html">Qureg</a>&#160;</td>
          <td class="paramname"><em>qureg</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int *&#160;</td>
          <td class="paramname"><em>controlQubits</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>numControlQubits</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int *&#160;</td>
          <td class="paramname"><em>targetQubits</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>numTargetQubits</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>caller</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p class="definition">Definition at line <a class="el" href="QuEST__validation_8c_source.html#l00423">423</a> of file <a class="el" href="QuEST__validation_8c_source.html">QuEST_validation.c</a>.</p>
<div class="fragment"><div class="line"><a name="l00423"></a><span class="lineno">  423</span>&#160;                                                                                                                                                          {</div>
<div class="line"><a name="l00424"></a><span class="lineno">  424</span>&#160;    <a class="code" href="QuEST__validation_8c.html#adbe2e1f7f7536cb6dcc60f7378154e79">validateMultiControls</a>(qureg, controlQubits, numControlQubits, caller);</div>
<div class="line"><a name="l00425"></a><span class="lineno">  425</span>&#160;    <a class="code" href="QuEST__validation_8c.html#a6776217a5f7ba38b56175cf6db0f96e0">validateMultiTargets</a>(qureg, targetQubits, numTargetQubits, caller);</div>
<div class="line"><a name="l00426"></a><span class="lineno">  426</span>&#160;    <span class="keywordtype">long</span> <span class="keywordtype">long</span> <span class="keywordtype">int</span> ctrlMask = <a class="code" href="QuEST__common_8c.html#acc45bb8300922ea5933e294921e25ea2">getQubitBitMask</a>(controlQubits, numControlQubits);</div>
<div class="line"><a name="l00427"></a><span class="lineno">  427</span>&#160;    <span class="keywordtype">long</span> <span class="keywordtype">long</span> <span class="keywordtype">int</span> targMask = <a class="code" href="QuEST__common_8c.html#acc45bb8300922ea5933e294921e25ea2">getQubitBitMask</a>(targetQubits, numTargetQubits);</div>
<div class="line"><a name="l00428"></a><span class="lineno">  428</span>&#160;    <span class="keywordtype">int</span> overlap = ctrlMask &amp; targMask;</div>
<div class="line"><a name="l00429"></a><span class="lineno">  429</span>&#160;    <a class="code" href="QuEST__validation_8c.html#a1cd60afc39f9970619db1ba7ca89d258">QuESTAssert</a>(!overlap, <a class="code" href="QuEST__validation_8c.html#a59e56af19e754a6aa26a612ebf91d05fa6c41bf9336ab1e3dbdbc99e99a5c6450">E_CONTROL_TARGET_COLLISION</a>, caller);</div>
<div class="line"><a name="l00430"></a><span class="lineno">  430</span>&#160;}</div>
</div><!-- fragment -->
<p class="reference">References <a class="el" href="QuEST__validation_8c_source.html#l00048">E_CONTROL_TARGET_COLLISION</a>, <a class="el" href="QuEST__common_8c_source.html#l00044">getQubitBitMask()</a>, <a class="el" href="QuEST__validation_8c_source.html#l00180">QuESTAssert()</a>, <a class="el" href="QuEST__validation_8c_source.html#l00400">validateMultiControls()</a>, and <a class="el" href="QuEST__validation_8c_source.html#l00392">validateMultiTargets()</a>.</p>

<p class="reference">Referenced by <a class="el" href="QuEST_8c_source.html#l00874">applyMultiControlledMatrixN()</a>, <a class="el" href="QuEST_8c_source.html#l00314">controlledMultiQubitUnitary()</a>, <a class="el" href="QuEST_8c_source.html#l00270">controlledTwoQubitUnitary()</a>, <a class="el" href="QuEST_8c_source.html#l00331">multiControlledMultiQubitUnitary()</a>, and <a class="el" href="QuEST_8c_source.html#l00283">multiControlledTwoQubitUnitary()</a>.</p>

</div>
</div>
<a id="a97f43ad2fe1ffc1f77a9b2af2f5f1cc2"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a97f43ad2fe1ffc1f77a9b2af2f5f1cc2">&#9670;&nbsp;</a></span>validateMultiControlsTarget()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void validateMultiControlsTarget </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structQureg.html">Qureg</a>&#160;</td>
          <td class="paramname"><em>qureg</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int *&#160;</td>
          <td class="paramname"><em>controlQubits</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>numControlQubits</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>targetQubit</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>caller</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p class="definition">Definition at line <a class="el" href="QuEST__validation_8c_source.html#l00416">416</a> of file <a class="el" href="QuEST__validation_8c_source.html">QuEST_validation.c</a>.</p>
<div class="fragment"><div class="line"><a name="l00416"></a><span class="lineno">  416</span>&#160;                                                                                                                             {</div>
<div class="line"><a name="l00417"></a><span class="lineno">  417</span>&#160;    <a class="code" href="QuEST__validation_8c.html#ac31c45c5a31c523be0eb26abba6cf598">validateTarget</a>(qureg, targetQubit, caller);</div>
<div class="line"><a name="l00418"></a><span class="lineno">  418</span>&#160;    <a class="code" href="QuEST__validation_8c.html#adbe2e1f7f7536cb6dcc60f7378154e79">validateMultiControls</a>(qureg, controlQubits, numControlQubits, caller);</div>
<div class="line"><a name="l00419"></a><span class="lineno">  419</span>&#160;    <span class="keywordflow">for</span> (<span class="keywordtype">int</span> i=0; i &lt; numControlQubits; i++)</div>
<div class="line"><a name="l00420"></a><span class="lineno">  420</span>&#160;        <a class="code" href="QuEST__validation_8c.html#a1cd60afc39f9970619db1ba7ca89d258">QuESTAssert</a>(controlQubits[i] != targetQubit, <a class="code" href="QuEST__validation_8c.html#a59e56af19e754a6aa26a612ebf91d05fad4f416b9ea063f9aab9d7a93c712b078">E_TARGET_IN_CONTROLS</a>, caller);</div>
<div class="line"><a name="l00421"></a><span class="lineno">  421</span>&#160;}</div>
</div><!-- fragment -->
<p class="reference">References <a class="el" href="QuEST__validation_8c_source.html#l00047">E_TARGET_IN_CONTROLS</a>, <a class="el" href="QuEST__validation_8c_source.html#l00180">QuESTAssert()</a>, <a class="el" href="QuEST__validation_8c_source.html#l00400">validateMultiControls()</a>, and <a class="el" href="QuEST__validation_8c_source.html#l00364">validateTarget()</a>.</p>

<p class="reference">Referenced by <a class="el" href="QuEST_8c_source.html#l00374">multiControlledUnitary()</a>, and <a class="el" href="QuEST_8c_source.html#l00389">multiStateControlledUnitary()</a>.</p>

</div>
</div>
<a id="a38738db33da795b9d52bace2d9fbe7ee"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a38738db33da795b9d52bace2d9fbe7ee">&#9670;&nbsp;</a></span>validateMultiQubitKrausMap()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void validateMultiQubitKrausMap </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structQureg.html">Qureg</a>&#160;</td>
          <td class="paramname"><em>qureg</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>numTargs</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="structComplexMatrixN.html">ComplexMatrixN</a> *&#160;</td>
          <td class="paramname"><em>ops</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>numOps</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>caller</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p class="definition">Definition at line <a class="el" href="QuEST__validation_8c_source.html#l00598">598</a> of file <a class="el" href="QuEST__validation_8c_source.html">QuEST_validation.c</a>.</p>
<div class="fragment"><div class="line"><a name="l00598"></a><span class="lineno">  598</span>&#160;                                                                                                                {</div>
<div class="line"><a name="l00599"></a><span class="lineno">  599</span>&#160;    <span class="keywordtype">int</span> opNumQubits = numTargs;</div>
<div class="line"><a name="l00600"></a><span class="lineno">  600</span>&#160;    <span class="keywordtype">int</span> superOpNumQubits = 2*opNumQubits;</div>
<div class="line"><a name="l00601"></a><span class="lineno">  601</span>&#160;    <span class="keywordtype">int</span> maxNumOps = superOpNumQubits*superOpNumQubits;</div>
<div class="line"><a name="l00602"></a><span class="lineno">  602</span>&#160;    <a class="code" href="QuEST__validation_8c.html#a1cd60afc39f9970619db1ba7ca89d258">QuESTAssert</a>(numOps&gt;0 &amp;&amp; numOps &lt;= maxNumOps, <a class="code" href="QuEST__validation_8c.html#a59e56af19e754a6aa26a612ebf91d05fa1c2104582f49728184e1e3fc4ec98b21">E_INVALID_NUM_N_QUBIT_KRAUS_OPS</a>, caller);</div>
<div class="line"><a name="l00603"></a><span class="lineno">  603</span>&#160;        </div>
<div class="line"><a name="l00604"></a><span class="lineno">  604</span>&#160;    <span class="keywordflow">for</span> (<span class="keywordtype">int</span> n=0; n&lt;numOps; n++) {</div>
<div class="line"><a name="l00605"></a><span class="lineno">  605</span>&#160;        <a class="code" href="QuEST__validation_8c.html#a6a3d99bc780707a90120a78a6e203792">validateMatrixInit</a>(ops[n], __func__);</div>
<div class="line"><a name="l00606"></a><span class="lineno">  606</span>&#160;        <a class="code" href="QuEST__validation_8c.html#a1cd60afc39f9970619db1ba7ca89d258">QuESTAssert</a>(ops[n].numQubits == numTargs, <a class="code" href="QuEST__validation_8c.html#a59e56af19e754a6aa26a612ebf91d05fa7f56b6271ef72a1c53f9e16206c8392c">E_MISMATCHING_NUM_TARGS_KRAUS_SIZE</a>, caller);    </div>
<div class="line"><a name="l00607"></a><span class="lineno">  607</span>&#160;    }</div>
<div class="line"><a name="l00608"></a><span class="lineno">  608</span>&#160;    </div>
<div class="line"><a name="l00609"></a><span class="lineno">  609</span>&#160;    <a class="code" href="QuEST__validation_8c.html#aa28b7d9c0c3cf9c4be0e324fb9d6bf76">validateMultiQubitMatrixFitsInNode</a>(qureg, superOpNumQubits, caller);</div>
<div class="line"><a name="l00610"></a><span class="lineno">  610</span>&#160;    </div>
<div class="line"><a name="l00611"></a><span class="lineno">  611</span>&#160;    <span class="keywordtype">int</span> isPos = <a class="code" href="QuEST__validation_8c.html#aad1590b0f1ed71d267c08642452c0be2">isCompletelyPositiveMapN</a>(ops, numOps);</div>
<div class="line"><a name="l00612"></a><span class="lineno">  612</span>&#160;    <a class="code" href="QuEST__validation_8c.html#a1cd60afc39f9970619db1ba7ca89d258">QuESTAssert</a>(isPos, <a class="code" href="QuEST__validation_8c.html#a59e56af19e754a6aa26a612ebf91d05fa2bd3656eccdd1c4e090ba44318407225">E_INVALID_KRAUS_OPS</a>, caller);</div>
<div class="line"><a name="l00613"></a><span class="lineno">  613</span>&#160;}</div>
</div><!-- fragment -->
<p class="reference">References <a class="el" href="QuEST__validation_8c_source.html#l00083">E_INVALID_KRAUS_OPS</a>, <a class="el" href="QuEST__validation_8c_source.html#l00082">E_INVALID_NUM_N_QUBIT_KRAUS_OPS</a>, <a class="el" href="QuEST__validation_8c_source.html#l00084">E_MISMATCHING_NUM_TARGS_KRAUS_SIZE</a>, <a class="el" href="QuEST__validation_8c_source.html#l00270">isCompletelyPositiveMapN()</a>, <a class="el" href="QuEST__validation_8c_source.html#l00180">QuESTAssert()</a>, <a class="el" href="QuEST__validation_8c_source.html#l00450">validateMatrixInit()</a>, and <a class="el" href="QuEST__validation_8c_source.html#l00437">validateMultiQubitMatrixFitsInNode()</a>.</p>

<p class="reference">Referenced by <a class="el" href="QuEST_8c_source.html#l01085">mixMultiQubitKrausMap()</a>.</p>

</div>
</div>
<a id="a576519ac36b7cb25bab78d05b5d1975f"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a576519ac36b7cb25bab78d05b5d1975f">&#9670;&nbsp;</a></span>validateMultiQubitMatrix()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void validateMultiQubitMatrix </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structQureg.html">Qureg</a>&#160;</td>
          <td class="paramname"><em>qureg</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="structComplexMatrixN.html">ComplexMatrixN</a>&#160;</td>
          <td class="paramname"><em>u</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>numTargs</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>caller</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p class="definition">Definition at line <a class="el" href="QuEST__validation_8c_source.html#l00460">460</a> of file <a class="el" href="QuEST__validation_8c_source.html">QuEST_validation.c</a>.</p>
<div class="fragment"><div class="line"><a name="l00460"></a><span class="lineno">  460</span>&#160;                                                                                               { </div>
<div class="line"><a name="l00461"></a><span class="lineno">  461</span>&#160;    <a class="code" href="QuEST__validation_8c.html#a6a3d99bc780707a90120a78a6e203792">validateMatrixInit</a>(u, caller);</div>
<div class="line"><a name="l00462"></a><span class="lineno">  462</span>&#160;    <a class="code" href="QuEST__validation_8c.html#aa28b7d9c0c3cf9c4be0e324fb9d6bf76">validateMultiQubitMatrixFitsInNode</a>(qureg, numTargs, caller);</div>
<div class="line"><a name="l00463"></a><span class="lineno">  463</span>&#160;    <a class="code" href="QuEST__validation_8c.html#a1cd60afc39f9970619db1ba7ca89d258">QuESTAssert</a>(numTargs == u.<a class="code" href="structComplexMatrixN.html#a606f7afbc3f65a596bdca21cb43be6a8">numQubits</a>, <a class="code" href="QuEST__validation_8c.html#a59e56af19e754a6aa26a612ebf91d05fa2ff2e7eff381c5e42420c65dc6f1bf1e">E_INVALID_UNITARY_SIZE</a>, caller);</div>
<div class="line"><a name="l00464"></a><span class="lineno">  464</span>&#160;}</div>
</div><!-- fragment -->
<p class="reference">References <a class="el" href="QuEST__validation_8c_source.html#l00078">E_INVALID_UNITARY_SIZE</a>, <a class="el" href="QuEST_8h_source.html#l00138">ComplexMatrixN::numQubits</a>, <a class="el" href="QuEST__validation_8c_source.html#l00180">QuESTAssert()</a>, <a class="el" href="QuEST__validation_8c_source.html#l00450">validateMatrixInit()</a>, and <a class="el" href="QuEST__validation_8c_source.html#l00437">validateMultiQubitMatrixFitsInNode()</a>.</p>

<p class="reference">Referenced by <a class="el" href="QuEST_8c_source.html#l00863">applyMatrixN()</a>, <a class="el" href="QuEST_8c_source.html#l00874">applyMultiControlledMatrixN()</a>, and <a class="el" href="QuEST__validation_8c_source.html#l00466">validateMultiQubitUnitaryMatrix()</a>.</p>

</div>
</div>
<a id="aa28b7d9c0c3cf9c4be0e324fb9d6bf76"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aa28b7d9c0c3cf9c4be0e324fb9d6bf76">&#9670;&nbsp;</a></span>validateMultiQubitMatrixFitsInNode()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void validateMultiQubitMatrixFitsInNode </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structQureg.html">Qureg</a>&#160;</td>
          <td class="paramname"><em>qureg</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>numTargets</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>caller</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p class="definition">Definition at line <a class="el" href="QuEST__validation_8c_source.html#l00437">437</a> of file <a class="el" href="QuEST__validation_8c_source.html">QuEST_validation.c</a>.</p>
<div class="fragment"><div class="line"><a name="l00437"></a><span class="lineno">  437</span>&#160;                                                                                         {</div>
<div class="line"><a name="l00438"></a><span class="lineno">  438</span>&#160;    <a class="code" href="QuEST__validation_8c.html#a1cd60afc39f9970619db1ba7ca89d258">QuESTAssert</a>(qureg.<a class="code" href="structQureg.html#ab0ea0358482b62f43fdd781469607d97">numAmpsPerChunk</a> &gt;= (1LL &lt;&lt; numTargets), <a class="code" href="QuEST__validation_8c.html#a59e56af19e754a6aa26a612ebf91d05fa3609e43d6776d5df98d5dbac57a5a2c7">E_CANNOT_FIT_MULTI_QUBIT_MATRIX</a>, caller);</div>
<div class="line"><a name="l00439"></a><span class="lineno">  439</span>&#160;}</div>
</div><!-- fragment -->
<p class="reference">References <a class="el" href="QuEST__validation_8c_source.html#l00077">E_CANNOT_FIT_MULTI_QUBIT_MATRIX</a>, <a class="el" href="QuEST_8h_source.html#l00213">Qureg::numAmpsPerChunk</a>, and <a class="el" href="QuEST__validation_8c_source.html#l00180">QuESTAssert()</a>.</p>

<p class="reference">Referenced by <a class="el" href="QuEST_8c_source.html#l00853">applyMatrix4()</a>, <a class="el" href="QuEST_8c_source.html#l00613">sqrtSwapGate()</a>, <a class="el" href="QuEST__validation_8c_source.html#l00598">validateMultiQubitKrausMap()</a>, <a class="el" href="QuEST__validation_8c_source.html#l00460">validateMultiQubitMatrix()</a>, <a class="el" href="QuEST__validation_8c_source.html#l00574">validateOneQubitKrausMap()</a>, <a class="el" href="QuEST__validation_8c_source.html#l00586">validateTwoQubitKrausMap()</a>, and <a class="el" href="QuEST__validation_8c_source.html#l00445">validateTwoQubitUnitaryMatrix()</a>.</p>

</div>
</div>
<a id="a9e7e85cfc36e3ce1f456a840a217bfd9"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a9e7e85cfc36e3ce1f456a840a217bfd9">&#9670;&nbsp;</a></span>validateMultiQubits()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void validateMultiQubits </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structQureg.html">Qureg</a>&#160;</td>
          <td class="paramname"><em>qureg</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int *&#160;</td>
          <td class="paramname"><em>qubits</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>numQubits</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>caller</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p class="definition">Definition at line <a class="el" href="QuEST__validation_8c_source.html#l00408">408</a> of file <a class="el" href="QuEST__validation_8c_source.html">QuEST_validation.c</a>.</p>
<div class="fragment"><div class="line"><a name="l00408"></a><span class="lineno">  408</span>&#160;                                                                                      {</div>
<div class="line"><a name="l00409"></a><span class="lineno">  409</span>&#160;    <a class="code" href="QuEST__validation_8c.html#a1cd60afc39f9970619db1ba7ca89d258">QuESTAssert</a>(numQubits&gt;0 &amp;&amp; numQubits&lt;=qureg.<a class="code" href="structQureg.html#ad08dff5316b8937f4b2a1417591543dc">numQubitsRepresented</a>, <a class="code" href="QuEST__validation_8c.html#a59e56af19e754a6aa26a612ebf91d05fa6cf1f26c653d5953a7e7e4cd2623f9c7">E_INVALID_NUM_QUBITS</a>, caller);</div>
<div class="line"><a name="l00410"></a><span class="lineno">  410</span>&#160;    <span class="keywordflow">for</span> (<span class="keywordtype">int</span> i=0; i &lt; numQubits; i++)</div>
<div class="line"><a name="l00411"></a><span class="lineno">  411</span>&#160;        <a class="code" href="QuEST__validation_8c.html#a1cd60afc39f9970619db1ba7ca89d258">QuESTAssert</a>(qubits[i]&gt;=0 &amp;&amp; qubits[i]&lt;qureg.<a class="code" href="structQureg.html#ad08dff5316b8937f4b2a1417591543dc">numQubitsRepresented</a>, <a class="code" href="QuEST__validation_8c.html#a59e56af19e754a6aa26a612ebf91d05fa2c51e35f9c02c1a9a13c25d433e551a0">E_INVALID_QUBIT_INDEX</a>, caller);</div>
<div class="line"><a name="l00412"></a><span class="lineno">  412</span>&#160;        </div>
<div class="line"><a name="l00413"></a><span class="lineno">  413</span>&#160;    <a class="code" href="QuEST__validation_8c.html#a1cd60afc39f9970619db1ba7ca89d258">QuESTAssert</a>(<a class="code" href="QuEST__validation_8c.html#aae8c7bcef363e2c9f02eda1e212ac1ce">areUniqueQubits</a>(qubits, numQubits), <a class="code" href="QuEST__validation_8c.html#a59e56af19e754a6aa26a612ebf91d05fa3b62cb7d19be35c8b63dd2bc77d9f423">E_QUBITS_NOT_UNIQUE</a>, caller);</div>
<div class="line"><a name="l00414"></a><span class="lineno">  414</span>&#160;}</div>
</div><!-- fragment -->
<p class="reference">References <a class="el" href="QuEST__validation_8c_source.html#l00279">areUniqueQubits()</a>, <a class="el" href="QuEST__validation_8c_source.html#l00052">E_INVALID_NUM_QUBITS</a>, <a class="el" href="QuEST__validation_8c_source.html#l00036">E_INVALID_QUBIT_INDEX</a>, <a class="el" href="QuEST__validation_8c_source.html#l00049">E_QUBITS_NOT_UNIQUE</a>, <a class="el" href="QuEST_8h_source.html#l00208">Qureg::numQubitsRepresented</a>, and <a class="el" href="QuEST__validation_8c_source.html#l00180">QuESTAssert()</a>.</p>

<p class="reference">Referenced by <a class="el" href="QuEST_8c_source.html#l00561">multiControlledPhaseFlip()</a>, and <a class="el" href="QuEST_8c_source.html#l00511">multiControlledPhaseShift()</a>.</p>

</div>
</div>
<a id="ab9947ff071a0c019f715f04b3833dcfd"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ab9947ff071a0c019f715f04b3833dcfd">&#9670;&nbsp;</a></span>validateMultiQubitUnitaryMatrix()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void validateMultiQubitUnitaryMatrix </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structQureg.html">Qureg</a>&#160;</td>
          <td class="paramname"><em>qureg</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="structComplexMatrixN.html">ComplexMatrixN</a>&#160;</td>
          <td class="paramname"><em>u</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>numTargs</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>caller</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p class="definition">Definition at line <a class="el" href="QuEST__validation_8c_source.html#l00466">466</a> of file <a class="el" href="QuEST__validation_8c_source.html">QuEST_validation.c</a>.</p>
<div class="fragment"><div class="line"><a name="l00466"></a><span class="lineno">  466</span>&#160;                                                                                                      { </div>
<div class="line"><a name="l00467"></a><span class="lineno">  467</span>&#160;    <a class="code" href="QuEST__validation_8c.html#a576519ac36b7cb25bab78d05b5d1975f">validateMultiQubitMatrix</a>(qureg, u, numTargs, caller);</div>
<div class="line"><a name="l00468"></a><span class="lineno">  468</span>&#160;    <a class="code" href="QuEST__validation_8c.html#a1cd60afc39f9970619db1ba7ca89d258">QuESTAssert</a>(<a class="code" href="QuEST__validation_8c.html#a770727d6566c1c94f85bcd63bf5b79cd">isMatrixNUnitary</a>(u), <a class="code" href="QuEST__validation_8c.html#a59e56af19e754a6aa26a612ebf91d05faf5ff674a1ea149739b8642262d11051d">E_NON_UNITARY_MATRIX</a>, caller);</div>
<div class="line"><a name="l00469"></a><span class="lineno">  469</span>&#160;}</div>
</div><!-- fragment -->
<p class="reference">References <a class="el" href="QuEST__validation_8c_source.html#l00055">E_NON_UNITARY_MATRIX</a>, <a class="el" href="QuEST__validation_8c_source.html#l00239">isMatrixNUnitary()</a>, <a class="el" href="QuEST__validation_8c_source.html#l00180">QuESTAssert()</a>, and <a class="el" href="QuEST__validation_8c_source.html#l00460">validateMultiQubitMatrix()</a>.</p>

<p class="reference">Referenced by <a class="el" href="QuEST_8c_source.html#l00314">controlledMultiQubitUnitary()</a>, <a class="el" href="QuEST_8c_source.html#l00331">multiControlledMultiQubitUnitary()</a>, and <a class="el" href="QuEST_8c_source.html#l00297">multiQubitUnitary()</a>.</p>

</div>
</div>
<a id="a6776217a5f7ba38b56175cf6db0f96e0"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a6776217a5f7ba38b56175cf6db0f96e0">&#9670;&nbsp;</a></span>validateMultiTargets()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void validateMultiTargets </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structQureg.html">Qureg</a>&#160;</td>
          <td class="paramname"><em>qureg</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int *&#160;</td>
          <td class="paramname"><em>targetQubits</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>numTargetQubits</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>caller</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p class="definition">Definition at line <a class="el" href="QuEST__validation_8c_source.html#l00392">392</a> of file <a class="el" href="QuEST__validation_8c_source.html">QuEST_validation.c</a>.</p>
<div class="fragment"><div class="line"><a name="l00392"></a><span class="lineno">  392</span>&#160;                                                                                                   {</div>
<div class="line"><a name="l00393"></a><span class="lineno">  393</span>&#160;    <a class="code" href="QuEST__validation_8c.html#a19b0f78f3bc3364d68e4b2256418bdbf">validateNumTargets</a>(qureg, numTargetQubits, caller);</div>
<div class="line"><a name="l00394"></a><span class="lineno">  394</span>&#160;    <span class="keywordflow">for</span> (<span class="keywordtype">int</span> i=0; i &lt; numTargetQubits; i++) </div>
<div class="line"><a name="l00395"></a><span class="lineno">  395</span>&#160;        <a class="code" href="QuEST__validation_8c.html#ac31c45c5a31c523be0eb26abba6cf598">validateTarget</a>(qureg, targetQubits[i], caller);</div>
<div class="line"><a name="l00396"></a><span class="lineno">  396</span>&#160;        </div>
<div class="line"><a name="l00397"></a><span class="lineno">  397</span>&#160;    <a class="code" href="QuEST__validation_8c.html#a1cd60afc39f9970619db1ba7ca89d258">QuESTAssert</a>(<a class="code" href="QuEST__validation_8c.html#aae8c7bcef363e2c9f02eda1e212ac1ce">areUniqueQubits</a>(targetQubits, numTargetQubits), <a class="code" href="QuEST__validation_8c.html#a59e56af19e754a6aa26a612ebf91d05fa323e5ea1a63ab51abbcf728a1c76b6ab">E_TARGETS_NOT_UNIQUE</a>, caller);</div>
<div class="line"><a name="l00398"></a><span class="lineno">  398</span>&#160;}</div>
</div><!-- fragment -->
<p class="reference">References <a class="el" href="QuEST__validation_8c_source.html#l00279">areUniqueQubits()</a>, <a class="el" href="QuEST__validation_8c_source.html#l00050">E_TARGETS_NOT_UNIQUE</a>, <a class="el" href="QuEST__validation_8c_source.html#l00180">QuESTAssert()</a>, <a class="el" href="QuEST__validation_8c_source.html#l00384">validateNumTargets()</a>, and <a class="el" href="QuEST__validation_8c_source.html#l00364">validateTarget()</a>.</p>

<p class="reference">Referenced by <a class="el" href="QuEST_8c_source.html#l00853">applyMatrix4()</a>, <a class="el" href="QuEST_8c_source.html#l00863">applyMatrixN()</a>, <a class="el" href="QuEST_8c_source.html#l00952">calcExpecPauliProd()</a>, <a class="el" href="QuEST_8c_source.html#l01085">mixMultiQubitKrausMap()</a>, <a class="el" href="QuEST_8c_source.html#l01075">mixTwoQubitKrausMap()</a>, <a class="el" href="QuEST_8c_source.html#l00297">multiQubitUnitary()</a>, <a class="el" href="QuEST_8c_source.html#l00642">multiRotatePauli()</a>, <a class="el" href="QuEST_8c_source.html#l00626">multiRotateZ()</a>, <a class="el" href="QuEST_8c_source.html#l00257">twoQubitUnitary()</a>, and <a class="el" href="QuEST__validation_8c_source.html#l00423">validateMultiControlsMultiTargets()</a>.</p>

</div>
</div>
<a id="a3e2df526fdffb835be9d1dcb9741ddce"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a3e2df526fdffb835be9d1dcb9741ddce">&#9670;&nbsp;</a></span>validateNormProbs()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void validateNormProbs </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="group__type.html#ga7740e349b4f8bae6451547680f0ce2d6">qreal</a>&#160;</td>
          <td class="paramname"><em>prob1</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="group__type.html#ga7740e349b4f8bae6451547680f0ce2d6">qreal</a>&#160;</td>
          <td class="paramname"><em>prob2</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>caller</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p class="definition">Definition at line <a class="el" href="QuEST__validation_8c_source.html#l00519">519</a> of file <a class="el" href="QuEST__validation_8c_source.html">QuEST_validation.c</a>.</p>
<div class="fragment"><div class="line"><a name="l00519"></a><span class="lineno">  519</span>&#160;                                                                     {</div>
<div class="line"><a name="l00520"></a><span class="lineno">  520</span>&#160;    <a class="code" href="QuEST__validation_8c.html#ae06b0f6b669c03241d0db3b9dc560da1">validateProb</a>(prob1, caller);</div>
<div class="line"><a name="l00521"></a><span class="lineno">  521</span>&#160;    <a class="code" href="QuEST__validation_8c.html#ae06b0f6b669c03241d0db3b9dc560da1">validateProb</a>(prob2, caller);</div>
<div class="line"><a name="l00522"></a><span class="lineno">  522</span>&#160;    </div>
<div class="line"><a name="l00523"></a><span class="lineno">  523</span>&#160;    <a class="code" href="group__type.html#ga7740e349b4f8bae6451547680f0ce2d6">qreal</a> sum = prob1 + prob2;</div>
<div class="line"><a name="l00524"></a><span class="lineno">  524</span>&#160;    <a class="code" href="QuEST__validation_8c.html#a1cd60afc39f9970619db1ba7ca89d258">QuESTAssert</a>(absReal(1 - sum) &lt; REAL_EPS, <a class="code" href="QuEST__validation_8c.html#a59e56af19e754a6aa26a612ebf91d05fad2a2e4be1419543566bf11c54ee17d18">E_UNNORM_PROBS</a>, caller);</div>
<div class="line"><a name="l00525"></a><span class="lineno">  525</span>&#160;}</div>
</div><!-- fragment -->
<p class="reference">References <a class="el" href="QuEST__validation_8c_source.html#l00068">E_UNNORM_PROBS</a>, <a class="el" href="group__type.html#ga7740e349b4f8bae6451547680f0ce2d6">qreal</a>, <a class="el" href="QuEST__validation_8c_source.html#l00180">QuESTAssert()</a>, and <a class="el" href="QuEST__validation_8c_source.html#l00515">validateProb()</a>.</p>

</div>
</div>
<a id="a6904359f35d0b61b2c8fcecfac836033"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a6904359f35d0b61b2c8fcecfac836033">&#9670;&nbsp;</a></span>validateNumAmps()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void validateNumAmps </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structQureg.html">Qureg</a>&#160;</td>
          <td class="paramname"><em>qureg</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">long long int&#160;</td>
          <td class="paramname"><em>startInd</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">long long int&#160;</td>
          <td class="paramname"><em>numAmps</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>caller</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p class="definition">Definition at line <a class="el" href="QuEST__validation_8c_source.html#l00351">351</a> of file <a class="el" href="QuEST__validation_8c_source.html">QuEST_validation.c</a>.</p>
<div class="fragment"><div class="line"><a name="l00351"></a><span class="lineno">  351</span>&#160;                                                                                                     {</div>
<div class="line"><a name="l00352"></a><span class="lineno">  352</span>&#160;    <a class="code" href="QuEST__validation_8c.html#a5f87419b253a97f6caadb72b507b9853">validateAmpIndex</a>(qureg, startInd, caller);</div>
<div class="line"><a name="l00353"></a><span class="lineno">  353</span>&#160;    <a class="code" href="QuEST__validation_8c.html#a1cd60afc39f9970619db1ba7ca89d258">QuESTAssert</a>(numAmps &gt;= 0 &amp;&amp; numAmps &lt;= qureg.<a class="code" href="structQureg.html#adef4935cac95763c29164cf99b144ed4">numAmpsTotal</a>, <a class="code" href="QuEST__validation_8c.html#a59e56af19e754a6aa26a612ebf91d05fa6e1255a7459c6acab99f6c4f50c3e23e">E_INVALID_NUM_AMPS</a>, caller);</div>
<div class="line"><a name="l00354"></a><span class="lineno">  354</span>&#160;    <a class="code" href="QuEST__validation_8c.html#a1cd60afc39f9970619db1ba7ca89d258">QuESTAssert</a>(numAmps + startInd &lt;= qureg.<a class="code" href="structQureg.html#adef4935cac95763c29164cf99b144ed4">numAmpsTotal</a>, <a class="code" href="QuEST__validation_8c.html#a59e56af19e754a6aa26a612ebf91d05faa44c6dcf43ab594c40c248632e56b434">E_INVALID_OFFSET_NUM_AMPS_QUREG</a>, caller);</div>
<div class="line"><a name="l00355"></a><span class="lineno">  355</span>&#160;}</div>
</div><!-- fragment -->
<p class="reference">References <a class="el" href="QuEST__validation_8c_source.html#l00042">E_INVALID_NUM_AMPS</a>, <a class="el" href="QuEST__validation_8c_source.html#l00044">E_INVALID_OFFSET_NUM_AMPS_QUREG</a>, <a class="el" href="QuEST_8h_source.html#l00215">Qureg::numAmpsTotal</a>, <a class="el" href="QuEST__validation_8c_source.html#l00180">QuESTAssert()</a>, and <a class="el" href="QuEST__validation_8c_source.html#l00346">validateAmpIndex()</a>.</p>

<p class="reference">Referenced by <a class="el" href="QuEST_8c_source.html#l00781">setAmps()</a>.</p>

</div>
</div>
<a id="a4f00b6d48e55ce489c6035e16b606a8a"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a4f00b6d48e55ce489c6035e16b606a8a">&#9670;&nbsp;</a></span>validateNumControls()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void validateNumControls </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structQureg.html">Qureg</a>&#160;</td>
          <td class="paramname"><em>qureg</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>numControlQubits</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>caller</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p class="definition">Definition at line <a class="el" href="QuEST__validation_8c_source.html#l00388">388</a> of file <a class="el" href="QuEST__validation_8c_source.html">QuEST_validation.c</a>.</p>
<div class="fragment"><div class="line"><a name="l00388"></a><span class="lineno">  388</span>&#160;                                                                                {</div>
<div class="line"><a name="l00389"></a><span class="lineno">  389</span>&#160;    <a class="code" href="QuEST__validation_8c.html#a1cd60afc39f9970619db1ba7ca89d258">QuESTAssert</a>(numControlQubits&gt;0 &amp;&amp; numControlQubits&lt;qureg.<a class="code" href="structQureg.html#ad08dff5316b8937f4b2a1417591543dc">numQubitsRepresented</a>, <a class="code" href="QuEST__validation_8c.html#a59e56af19e754a6aa26a612ebf91d05fa4977c4b1099c2ac41d028050d01e9df4">E_INVALID_NUM_CONTROLS</a>, caller);</div>
<div class="line"><a name="l00390"></a><span class="lineno">  390</span>&#160;}</div>
</div><!-- fragment -->
<p class="reference">References <a class="el" href="QuEST__validation_8c_source.html#l00054">E_INVALID_NUM_CONTROLS</a>, <a class="el" href="QuEST_8h_source.html#l00208">Qureg::numQubitsRepresented</a>, and <a class="el" href="QuEST__validation_8c_source.html#l00180">QuESTAssert()</a>.</p>

<p class="reference">Referenced by <a class="el" href="QuEST__validation_8c_source.html#l00400">validateMultiControls()</a>.</p>

</div>
</div>
<a id="a1c52594c03d2c136993b27f4dd315c11"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a1c52594c03d2c136993b27f4dd315c11">&#9670;&nbsp;</a></span>validateNumElems()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void validateNumElems </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structDiagonalOp.html">DiagonalOp</a>&#160;</td>
          <td class="paramname"><em>op</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">long long int&#160;</td>
          <td class="paramname"><em>startInd</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">long long int&#160;</td>
          <td class="paramname"><em>numElems</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>caller</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p class="definition">Definition at line <a class="el" href="QuEST__validation_8c_source.html#l00357">357</a> of file <a class="el" href="QuEST__validation_8c_source.html">QuEST_validation.c</a>.</p>
<div class="fragment"><div class="line"><a name="l00357"></a><span class="lineno">  357</span>&#160;                                                                                                         {</div>
<div class="line"><a name="l00358"></a><span class="lineno">  358</span>&#160;    <span class="keywordtype">long</span> <span class="keywordtype">long</span> <span class="keywordtype">int</span> indMax = 1LL &lt;&lt; op.<a class="code" href="structDiagonalOp.html#a5131eeb67aafb4c19ac98270c3266742">numQubits</a>;</div>
<div class="line"><a name="l00359"></a><span class="lineno">  359</span>&#160;    <a class="code" href="QuEST__validation_8c.html#a1cd60afc39f9970619db1ba7ca89d258">QuESTAssert</a>(startInd &gt;= 0 &amp;&amp; startInd &lt; indMax, <a class="code" href="QuEST__validation_8c.html#a59e56af19e754a6aa26a612ebf91d05fa52e5a3163ba2e4656b0810e5c926f409">E_INVALID_ELEM_INDEX</a>, caller);</div>
<div class="line"><a name="l00360"></a><span class="lineno">  360</span>&#160;    <a class="code" href="QuEST__validation_8c.html#a1cd60afc39f9970619db1ba7ca89d258">QuESTAssert</a>(numElems &gt;= 0 &amp;&amp; numElems &lt;= indMax, <a class="code" href="QuEST__validation_8c.html#a59e56af19e754a6aa26a612ebf91d05fab1055b4501c5a9826359a65c59e57a66">E_INVALID_NUM_ELEMS</a>, caller);</div>
<div class="line"><a name="l00361"></a><span class="lineno">  361</span>&#160;    <a class="code" href="QuEST__validation_8c.html#a1cd60afc39f9970619db1ba7ca89d258">QuESTAssert</a>(numElems + startInd &lt;= indMax, <a class="code" href="QuEST__validation_8c.html#a59e56af19e754a6aa26a612ebf91d05faee49e5e9192447cfb9d44bb4d4619dbc">E_INVALID_OFFSET_NUM_ELEMS_DIAG</a>, caller);</div>
<div class="line"><a name="l00362"></a><span class="lineno">  362</span>&#160;}</div>
</div><!-- fragment -->
<p class="reference">References <a class="el" href="QuEST__validation_8c_source.html#l00041">E_INVALID_ELEM_INDEX</a>, <a class="el" href="QuEST__validation_8c_source.html#l00043">E_INVALID_NUM_ELEMS</a>, <a class="el" href="QuEST__validation_8c_source.html#l00045">E_INVALID_OFFSET_NUM_ELEMS_DIAG</a>, <a class="el" href="QuEST_8h_source.html#l00181">DiagonalOp::numQubits</a>, and <a class="el" href="QuEST__validation_8c_source.html#l00180">QuESTAssert()</a>.</p>

<p class="reference">Referenced by <a class="el" href="QuEST_8c_source.html#l01292">setDiagonalOpElems()</a>.</p>

</div>
</div>
<a id="a5be128290a7bba9a7f12d32cabe2276b"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a5be128290a7bba9a7f12d32cabe2276b">&#9670;&nbsp;</a></span>validateNumPauliSumTerms()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void validateNumPauliSumTerms </td>
          <td>(</td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>numTerms</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>caller</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p class="definition">Definition at line <a class="el" href="QuEST__validation_8c_source.html#l00570">570</a> of file <a class="el" href="QuEST__validation_8c_source.html">QuEST_validation.c</a>.</p>
<div class="fragment"><div class="line"><a name="l00570"></a><span class="lineno">  570</span>&#160;                                                                {</div>
<div class="line"><a name="l00571"></a><span class="lineno">  571</span>&#160;    <a class="code" href="QuEST__validation_8c.html#a1cd60afc39f9970619db1ba7ca89d258">QuESTAssert</a>(numTerms &gt; 0, <a class="code" href="QuEST__validation_8c.html#a59e56af19e754a6aa26a612ebf91d05fab65076ba39122eb37a197c5fe4aa6ecf">E_INVALID_NUM_SUM_TERMS</a>, caller);</div>
<div class="line"><a name="l00572"></a><span class="lineno">  572</span>&#160;}</div>
</div><!-- fragment -->
<p class="reference">References <a class="el" href="QuEST__validation_8c_source.html#l00076">E_INVALID_NUM_SUM_TERMS</a>, and <a class="el" href="QuEST__validation_8c_source.html#l00180">QuESTAssert()</a>.</p>

<p class="reference">Referenced by <a class="el" href="QuEST_8c_source.html#l00808">applyPauliSum()</a>, and <a class="el" href="QuEST_8c_source.html#l00961">calcExpecPauliSum()</a>.</p>

</div>
</div>
<a id="a7891142f169db6d440a4145501cd1d4c"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a7891142f169db6d440a4145501cd1d4c">&#9670;&nbsp;</a></span>validateNumQubitsInDiagOp()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void validateNumQubitsInDiagOp </td>
          <td>(</td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>numQubits</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>numRanks</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>caller</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p class="definition">Definition at line <a class="el" href="QuEST__validation_8c_source.html#l00329">329</a> of file <a class="el" href="QuEST__validation_8c_source.html">QuEST_validation.c</a>.</p>
<div class="fragment"><div class="line"><a name="l00329"></a><span class="lineno">  329</span>&#160;                                                                                {</div>
<div class="line"><a name="l00330"></a><span class="lineno">  330</span>&#160;    <a class="code" href="QuEST__validation_8c.html#a1cd60afc39f9970619db1ba7ca89d258">QuESTAssert</a>(numQubits&gt;0, <a class="code" href="QuEST__validation_8c.html#a59e56af19e754a6aa26a612ebf91d05fa842c2a58b36ab64137cc44d22808e6dc">E_INVALID_NUM_CREATE_QUBITS</a>, caller);</div>
<div class="line"><a name="l00331"></a><span class="lineno">  331</span>&#160;    </div>
<div class="line"><a name="l00332"></a><span class="lineno">  332</span>&#160;    <span class="comment">// mustn&#39;t be more amplitudes than can fit in the type</span></div>
<div class="line"><a name="l00333"></a><span class="lineno">  333</span>&#160;    <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> maxQubits = <a class="code" href="group__testutilities.html#ga267884197cf7f1d428021cb12a57360c">calcLog2</a>(SIZE_MAX);</div>
<div class="line"><a name="l00334"></a><span class="lineno">  334</span>&#160;    <a class="code" href="QuEST__validation_8c.html#a1cd60afc39f9970619db1ba7ca89d258">QuESTAssert</a>( numQubits &lt;= maxQubits, <a class="code" href="QuEST__validation_8c.html#a59e56af19e754a6aa26a612ebf91d05fa7c7ae480f5dfdfeda702d01dabd2e414">E_NUM_AMPS_EXCEED_TYPE</a>, caller);</div>
<div class="line"><a name="l00335"></a><span class="lineno">  335</span>&#160;    </div>
<div class="line"><a name="l00336"></a><span class="lineno">  336</span>&#160;    <span class="comment">// must be at least one amplitude per node</span></div>
<div class="line"><a name="l00337"></a><span class="lineno">  337</span>&#160;    <span class="keywordtype">long</span> <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> numAmps = (1UL&lt;&lt;numQubits);</div>
<div class="line"><a name="l00338"></a><span class="lineno">  338</span>&#160;    <a class="code" href="QuEST__validation_8c.html#a1cd60afc39f9970619db1ba7ca89d258">QuESTAssert</a>(numAmps &gt;= numRanks, <a class="code" href="QuEST__validation_8c.html#a59e56af19e754a6aa26a612ebf91d05faa73d415a59f391dcc373e57db1d0b946">E_DISTRIB_DIAG_OP_TOO_SMALL</a>, caller);</div>
<div class="line"><a name="l00339"></a><span class="lineno">  339</span>&#160;}</div>
</div><!-- fragment -->
<p class="reference">References <a class="el" href="QuEST__validation_8c_source.html#l00292">calcLog2()</a>, <a class="el" href="QuEST__validation_8c_source.html#l00086">E_DISTRIB_DIAG_OP_TOO_SMALL</a>, <a class="el" href="QuEST__validation_8c_source.html#l00035">E_INVALID_NUM_CREATE_QUBITS</a>, <a class="el" href="QuEST__validation_8c_source.html#l00087">E_NUM_AMPS_EXCEED_TYPE</a>, and <a class="el" href="QuEST__validation_8c_source.html#l00180">QuESTAssert()</a>.</p>

<p class="reference">Referenced by <a class="el" href="QuEST_8c_source.html#l01267">createDiagonalOp()</a>.</p>

</div>
</div>
<a id="a7c8491926b4c7b4bf8e8123f4464a08e"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a7c8491926b4c7b4bf8e8123f4464a08e">&#9670;&nbsp;</a></span>validateNumQubitsInMatrix()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void validateNumQubitsInMatrix </td>
          <td>(</td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>numQubits</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>caller</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p class="definition">Definition at line <a class="el" href="QuEST__validation_8c_source.html#l00325">325</a> of file <a class="el" href="QuEST__validation_8c_source.html">QuEST_validation.c</a>.</p>
<div class="fragment"><div class="line"><a name="l00325"></a><span class="lineno">  325</span>&#160;                                                                  {</div>
<div class="line"><a name="l00326"></a><span class="lineno">  326</span>&#160;    <a class="code" href="QuEST__validation_8c.html#a1cd60afc39f9970619db1ba7ca89d258">QuESTAssert</a>(numQubits&gt;0, <a class="code" href="QuEST__validation_8c.html#a59e56af19e754a6aa26a612ebf91d05fa6cf1f26c653d5953a7e7e4cd2623f9c7">E_INVALID_NUM_QUBITS</a>, caller);</div>
<div class="line"><a name="l00327"></a><span class="lineno">  327</span>&#160;}</div>
</div><!-- fragment -->
<p class="reference">References <a class="el" href="QuEST__validation_8c_source.html#l00052">E_INVALID_NUM_QUBITS</a>, and <a class="el" href="QuEST__validation_8c_source.html#l00180">QuESTAssert()</a>.</p>

<p class="reference">Referenced by <a class="el" href="QuEST_8c_source.html#l01099">createComplexMatrixN()</a>.</p>

</div>
</div>
<a id="a45428d4a49b8798a8d25a7155f622238"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a45428d4a49b8798a8d25a7155f622238">&#9670;&nbsp;</a></span>validateNumQubitsInQureg()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void validateNumQubitsInQureg </td>
          <td>(</td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>numQubits</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>numRanks</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>caller</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p class="definition">Definition at line <a class="el" href="QuEST__validation_8c_source.html#l00313">313</a> of file <a class="el" href="QuEST__validation_8c_source.html">QuEST_validation.c</a>.</p>
<div class="fragment"><div class="line"><a name="l00313"></a><span class="lineno">  313</span>&#160;                                                                               {</div>
<div class="line"><a name="l00314"></a><span class="lineno">  314</span>&#160;    <a class="code" href="QuEST__validation_8c.html#a1cd60afc39f9970619db1ba7ca89d258">QuESTAssert</a>(numQubits&gt;0, <a class="code" href="QuEST__validation_8c.html#a59e56af19e754a6aa26a612ebf91d05fa842c2a58b36ab64137cc44d22808e6dc">E_INVALID_NUM_CREATE_QUBITS</a>, caller);</div>
<div class="line"><a name="l00315"></a><span class="lineno">  315</span>&#160;    </div>
<div class="line"><a name="l00316"></a><span class="lineno">  316</span>&#160;    <span class="comment">// mustn&#39;t be more amplitudes than can fit in the type</span></div>
<div class="line"><a name="l00317"></a><span class="lineno">  317</span>&#160;    <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> maxQubits = <a class="code" href="group__testutilities.html#ga267884197cf7f1d428021cb12a57360c">calcLog2</a>(SIZE_MAX);</div>
<div class="line"><a name="l00318"></a><span class="lineno">  318</span>&#160;    <a class="code" href="QuEST__validation_8c.html#a1cd60afc39f9970619db1ba7ca89d258">QuESTAssert</a>( numQubits &lt;= maxQubits, <a class="code" href="QuEST__validation_8c.html#a59e56af19e754a6aa26a612ebf91d05fa7c7ae480f5dfdfeda702d01dabd2e414">E_NUM_AMPS_EXCEED_TYPE</a>, caller);</div>
<div class="line"><a name="l00319"></a><span class="lineno">  319</span>&#160;    </div>
<div class="line"><a name="l00320"></a><span class="lineno">  320</span>&#160;    <span class="comment">// must be at least one amplitude per node</span></div>
<div class="line"><a name="l00321"></a><span class="lineno">  321</span>&#160;    <span class="keywordtype">long</span> <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> numAmps = (1UL&lt;&lt;numQubits);</div>
<div class="line"><a name="l00322"></a><span class="lineno">  322</span>&#160;    <a class="code" href="QuEST__validation_8c.html#a1cd60afc39f9970619db1ba7ca89d258">QuESTAssert</a>(numAmps &gt;= numRanks, <a class="code" href="QuEST__validation_8c.html#a59e56af19e754a6aa26a612ebf91d05fa2f1baaf37f336275631269f11dce15f9">E_DISTRIB_QUREG_TOO_SMALL</a>, caller);</div>
<div class="line"><a name="l00323"></a><span class="lineno">  323</span>&#160;}</div>
</div><!-- fragment -->
<p class="reference">References <a class="el" href="QuEST__validation_8c_source.html#l00292">calcLog2()</a>, <a class="el" href="QuEST__validation_8c_source.html#l00085">E_DISTRIB_QUREG_TOO_SMALL</a>, <a class="el" href="QuEST__validation_8c_source.html#l00035">E_INVALID_NUM_CREATE_QUBITS</a>, <a class="el" href="QuEST__validation_8c_source.html#l00087">E_NUM_AMPS_EXCEED_TYPE</a>, and <a class="el" href="QuEST__validation_8c_source.html#l00180">QuESTAssert()</a>.</p>

<p class="reference">Referenced by <a class="el" href="QuEST_8c_source.html#l00050">createDensityQureg()</a>, and <a class="el" href="QuEST_8c_source.html#l00036">createQureg()</a>.</p>

</div>
</div>
<a id="ad893327ebd2123508493d445868bfcd7"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ad893327ebd2123508493d445868bfcd7">&#9670;&nbsp;</a></span>validateNumRanks()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void validateNumRanks </td>
          <td>(</td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>numRanks</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>caller</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p class="definition">Definition at line <a class="el" href="QuEST__validation_8c_source.html#l00299">299</a> of file <a class="el" href="QuEST__validation_8c_source.html">QuEST_validation.c</a>.</p>
<div class="fragment"><div class="line"><a name="l00299"></a><span class="lineno">  299</span>&#160;                                                        {</div>
<div class="line"><a name="l00300"></a><span class="lineno">  300</span>&#160; </div>
<div class="line"><a name="l00301"></a><span class="lineno">  301</span>&#160;    <span class="comment">/* silly but robust way to determine if numRanks is a power of 2, </span></div>
<div class="line"><a name="l00302"></a><span class="lineno">  302</span>&#160;<span class="comment">     * in lieu of bit-twiddling (e.g. AND with all-ones) which may be </span></div>
<div class="line"><a name="l00303"></a><span class="lineno">  303</span>&#160;<span class="comment">     * system / precsision dependent </span></div>
<div class="line"><a name="l00304"></a><span class="lineno">  304</span>&#160;<span class="comment">     */</span></div>
<div class="line"><a name="l00305"></a><span class="lineno">  305</span>&#160;    <span class="keywordtype">int</span> isValid = 0;</div>
<div class="line"><a name="l00306"></a><span class="lineno">  306</span>&#160;    <span class="keywordflow">for</span> (<span class="keywordtype">int</span> exp2 = 1; exp2 &lt;= numRanks; exp2 *= 2)</div>
<div class="line"><a name="l00307"></a><span class="lineno">  307</span>&#160;        <span class="keywordflow">if</span> (exp2 == numRanks)</div>
<div class="line"><a name="l00308"></a><span class="lineno">  308</span>&#160;            isValid = 1;</div>
<div class="line"><a name="l00309"></a><span class="lineno">  309</span>&#160;    </div>
<div class="line"><a name="l00310"></a><span class="lineno">  310</span>&#160;    <a class="code" href="QuEST__validation_8c.html#a1cd60afc39f9970619db1ba7ca89d258">QuESTAssert</a>(isValid, <a class="code" href="QuEST__validation_8c.html#a59e56af19e754a6aa26a612ebf91d05fa88763fecf89fb1712fb7b219e70bc054">E_INVALID_NUM_RANKS</a>, caller);</div>
<div class="line"><a name="l00311"></a><span class="lineno">  311</span>&#160;}</div>
</div><!-- fragment -->
<p class="reference">References <a class="el" href="QuEST__validation_8c_source.html#l00034">E_INVALID_NUM_RANKS</a>, and <a class="el" href="QuEST__validation_8c_source.html#l00180">QuESTAssert()</a>.</p>

<p class="reference">Referenced by <a class="el" href="QuEST__cpu__distributed_8c_source.html#l00129">createQuESTEnv()</a>.</p>

</div>
</div>
<a id="a19b0f78f3bc3364d68e4b2256418bdbf"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a19b0f78f3bc3364d68e4b2256418bdbf">&#9670;&nbsp;</a></span>validateNumTargets()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void validateNumTargets </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structQureg.html">Qureg</a>&#160;</td>
          <td class="paramname"><em>qureg</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>numTargetQubits</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>caller</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p class="definition">Definition at line <a class="el" href="QuEST__validation_8c_source.html#l00384">384</a> of file <a class="el" href="QuEST__validation_8c_source.html">QuEST_validation.c</a>.</p>
<div class="fragment"><div class="line"><a name="l00384"></a><span class="lineno">  384</span>&#160;                                                                              {</div>
<div class="line"><a name="l00385"></a><span class="lineno">  385</span>&#160;    <a class="code" href="QuEST__validation_8c.html#a1cd60afc39f9970619db1ba7ca89d258">QuESTAssert</a>(numTargetQubits&gt;0 &amp;&amp; numTargetQubits&lt;=qureg.<a class="code" href="structQureg.html#ad08dff5316b8937f4b2a1417591543dc">numQubitsRepresented</a>, <a class="code" href="QuEST__validation_8c.html#a59e56af19e754a6aa26a612ebf91d05fa4e515c795506ed87efd89a2ee8957c52">E_INVALID_NUM_TARGETS</a>, caller);</div>
<div class="line"><a name="l00386"></a><span class="lineno">  386</span>&#160;}</div>
</div><!-- fragment -->
<p class="reference">References <a class="el" href="QuEST__validation_8c_source.html#l00053">E_INVALID_NUM_TARGETS</a>, <a class="el" href="QuEST_8h_source.html#l00208">Qureg::numQubitsRepresented</a>, and <a class="el" href="QuEST__validation_8c_source.html#l00180">QuESTAssert()</a>.</p>

<p class="reference">Referenced by <a class="el" href="QuEST__validation_8c_source.html#l00392">validateMultiTargets()</a>.</p>

</div>
</div>
<a id="a260639d187d09cbeef3ff36f0d4d1f0e"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a260639d187d09cbeef3ff36f0d4d1f0e">&#9670;&nbsp;</a></span>validateOneQubitDampingProb()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void validateOneQubitDampingProb </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="group__type.html#ga7740e349b4f8bae6451547680f0ce2d6">qreal</a>&#160;</td>
          <td class="paramname"><em>prob</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>caller</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p class="definition">Definition at line <a class="el" href="QuEST__validation_8c_source.html#l00542">542</a> of file <a class="el" href="QuEST__validation_8c_source.html">QuEST_validation.c</a>.</p>
<div class="fragment"><div class="line"><a name="l00542"></a><span class="lineno">  542</span>&#160;                                                                 {</div>
<div class="line"><a name="l00543"></a><span class="lineno">  543</span>&#160;    <a class="code" href="QuEST__validation_8c.html#ae06b0f6b669c03241d0db3b9dc560da1">validateProb</a>(prob, caller);</div>
<div class="line"><a name="l00544"></a><span class="lineno">  544</span>&#160;    <a class="code" href="QuEST__validation_8c.html#a1cd60afc39f9970619db1ba7ca89d258">QuESTAssert</a>(prob &lt;= 1.0, <a class="code" href="QuEST__validation_8c.html#a59e56af19e754a6aa26a612ebf91d05fa3fbe01426a3917a7816c6afd5baaf9aa">E_INVALID_ONE_QUBIT_DEPOL_PROB</a>, caller);</div>
<div class="line"><a name="l00545"></a><span class="lineno">  545</span>&#160;}</div>
</div><!-- fragment -->
<p class="reference">References <a class="el" href="QuEST__validation_8c_source.html#l00071">E_INVALID_ONE_QUBIT_DEPOL_PROB</a>, <a class="el" href="QuEST__validation_8c_source.html#l00180">QuESTAssert()</a>, and <a class="el" href="QuEST__validation_8c_source.html#l00515">validateProb()</a>.</p>

<p class="reference">Referenced by <a class="el" href="QuEST_8c_source.html#l01034">mixDamping()</a>.</p>

</div>
</div>
<a id="aef4d89ae4b8a8b4f414ebd03ef4c6acf"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aef4d89ae4b8a8b4f414ebd03ef4c6acf">&#9670;&nbsp;</a></span>validateOneQubitDephaseProb()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void validateOneQubitDephaseProb </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="group__type.html#ga7740e349b4f8bae6451547680f0ce2d6">qreal</a>&#160;</td>
          <td class="paramname"><em>prob</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>caller</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p class="definition">Definition at line <a class="el" href="QuEST__validation_8c_source.html#l00527">527</a> of file <a class="el" href="QuEST__validation_8c_source.html">QuEST_validation.c</a>.</p>
<div class="fragment"><div class="line"><a name="l00527"></a><span class="lineno">  527</span>&#160;                                                                 {</div>
<div class="line"><a name="l00528"></a><span class="lineno">  528</span>&#160;    <a class="code" href="QuEST__validation_8c.html#ae06b0f6b669c03241d0db3b9dc560da1">validateProb</a>(prob, caller);</div>
<div class="line"><a name="l00529"></a><span class="lineno">  529</span>&#160;    <a class="code" href="QuEST__validation_8c.html#a1cd60afc39f9970619db1ba7ca89d258">QuESTAssert</a>(prob &lt;= 1/2.0, <a class="code" href="QuEST__validation_8c.html#a59e56af19e754a6aa26a612ebf91d05fac90337dfa163170ece2777268e846575">E_INVALID_ONE_QUBIT_DEPHASE_PROB</a>, caller);</div>
<div class="line"><a name="l00530"></a><span class="lineno">  530</span>&#160;}</div>
</div><!-- fragment -->
<p class="reference">References <a class="el" href="QuEST__validation_8c_source.html#l00069">E_INVALID_ONE_QUBIT_DEPHASE_PROB</a>, <a class="el" href="QuEST__validation_8c_source.html#l00180">QuESTAssert()</a>, and <a class="el" href="QuEST__validation_8c_source.html#l00515">validateProb()</a>.</p>

<p class="reference">Referenced by <a class="el" href="QuEST_8c_source.html#l01001">mixDephasing()</a>.</p>

</div>
</div>
<a id="a269b2f7ee5c4376ae633cd2b77a7be38"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a269b2f7ee5c4376ae633cd2b77a7be38">&#9670;&nbsp;</a></span>validateOneQubitDepolProb()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void validateOneQubitDepolProb </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="group__type.html#ga7740e349b4f8bae6451547680f0ce2d6">qreal</a>&#160;</td>
          <td class="paramname"><em>prob</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>caller</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p class="definition">Definition at line <a class="el" href="QuEST__validation_8c_source.html#l00537">537</a> of file <a class="el" href="QuEST__validation_8c_source.html">QuEST_validation.c</a>.</p>
<div class="fragment"><div class="line"><a name="l00537"></a><span class="lineno">  537</span>&#160;                                                               {</div>
<div class="line"><a name="l00538"></a><span class="lineno">  538</span>&#160;    <a class="code" href="QuEST__validation_8c.html#ae06b0f6b669c03241d0db3b9dc560da1">validateProb</a>(prob, caller);</div>
<div class="line"><a name="l00539"></a><span class="lineno">  539</span>&#160;    <a class="code" href="QuEST__validation_8c.html#a1cd60afc39f9970619db1ba7ca89d258">QuESTAssert</a>(prob &lt;= 3/4.0, <a class="code" href="QuEST__validation_8c.html#a59e56af19e754a6aa26a612ebf91d05fa3fbe01426a3917a7816c6afd5baaf9aa">E_INVALID_ONE_QUBIT_DEPOL_PROB</a>, caller);</div>
<div class="line"><a name="l00540"></a><span class="lineno">  540</span>&#160;}</div>
</div><!-- fragment -->
<p class="reference">References <a class="el" href="QuEST__validation_8c_source.html#l00071">E_INVALID_ONE_QUBIT_DEPOL_PROB</a>, <a class="el" href="QuEST__validation_8c_source.html#l00180">QuESTAssert()</a>, and <a class="el" href="QuEST__validation_8c_source.html#l00515">validateProb()</a>.</p>

<p class="reference">Referenced by <a class="el" href="QuEST_8c_source.html#l01023">mixDepolarising()</a>.</p>

</div>
</div>
<a id="a2d43dbc8bf59a58b0ba9da31a8b7db8b"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a2d43dbc8bf59a58b0ba9da31a8b7db8b">&#9670;&nbsp;</a></span>validateOneQubitKrausMap()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void validateOneQubitKrausMap </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structQureg.html">Qureg</a>&#160;</td>
          <td class="paramname"><em>qureg</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="structComplexMatrix2.html">ComplexMatrix2</a> *&#160;</td>
          <td class="paramname"><em>ops</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>numOps</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>caller</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p class="definition">Definition at line <a class="el" href="QuEST__validation_8c_source.html#l00574">574</a> of file <a class="el" href="QuEST__validation_8c_source.html">QuEST_validation.c</a>.</p>
<div class="fragment"><div class="line"><a name="l00574"></a><span class="lineno">  574</span>&#160;                                                                                                {</div>
<div class="line"><a name="l00575"></a><span class="lineno">  575</span>&#160;    <span class="keywordtype">int</span> opNumQubits = 1;</div>
<div class="line"><a name="l00576"></a><span class="lineno">  576</span>&#160;    <span class="keywordtype">int</span> superOpNumQubits = 2*opNumQubits;</div>
<div class="line"><a name="l00577"></a><span class="lineno">  577</span>&#160;    <span class="keywordtype">int</span> maxNumOps = superOpNumQubits*superOpNumQubits;</div>
<div class="line"><a name="l00578"></a><span class="lineno">  578</span>&#160;    <a class="code" href="QuEST__validation_8c.html#a1cd60afc39f9970619db1ba7ca89d258">QuESTAssert</a>(numOps &gt; 0 &amp;&amp; numOps &lt;= maxNumOps, <a class="code" href="QuEST__validation_8c.html#a59e56af19e754a6aa26a612ebf91d05fadf2e13b0b7bb3e72087ba611d23f549c">E_INVALID_NUM_ONE_QUBIT_KRAUS_OPS</a>, caller);</div>
<div class="line"><a name="l00579"></a><span class="lineno">  579</span>&#160;    </div>
<div class="line"><a name="l00580"></a><span class="lineno">  580</span>&#160;    <a class="code" href="QuEST__validation_8c.html#aa28b7d9c0c3cf9c4be0e324fb9d6bf76">validateMultiQubitMatrixFitsInNode</a>(qureg, superOpNumQubits, caller);</div>
<div class="line"><a name="l00581"></a><span class="lineno">  581</span>&#160;    </div>
<div class="line"><a name="l00582"></a><span class="lineno">  582</span>&#160;    <span class="keywordtype">int</span> isPos = <a class="code" href="QuEST__validation_8c.html#a5229a3bae3449752adbd45de5e2bfc80">isCompletelyPositiveMap2</a>(ops, numOps);</div>
<div class="line"><a name="l00583"></a><span class="lineno">  583</span>&#160;    <a class="code" href="QuEST__validation_8c.html#a1cd60afc39f9970619db1ba7ca89d258">QuESTAssert</a>(isPos, <a class="code" href="QuEST__validation_8c.html#a59e56af19e754a6aa26a612ebf91d05fa2bd3656eccdd1c4e090ba44318407225">E_INVALID_KRAUS_OPS</a>, caller);</div>
<div class="line"><a name="l00584"></a><span class="lineno">  584</span>&#160;}</div>
</div><!-- fragment -->
<p class="reference">References <a class="el" href="QuEST__validation_8c_source.html#l00083">E_INVALID_KRAUS_OPS</a>, <a class="el" href="QuEST__validation_8c_source.html#l00080">E_INVALID_NUM_ONE_QUBIT_KRAUS_OPS</a>, <a class="el" href="QuEST__validation_8c_source.html#l00264">isCompletelyPositiveMap2()</a>, <a class="el" href="QuEST__validation_8c_source.html#l00180">QuESTAssert()</a>, and <a class="el" href="QuEST__validation_8c_source.html#l00437">validateMultiQubitMatrixFitsInNode()</a>.</p>

<p class="reference">Referenced by <a class="el" href="QuEST_8c_source.html#l01065">mixKrausMap()</a>.</p>

</div>
</div>
<a id="a1b018a5766c1b26c731e8dcaa76abb19"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a1b018a5766c1b26c731e8dcaa76abb19">&#9670;&nbsp;</a></span>validateOneQubitPauliProbs()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void validateOneQubitPauliProbs </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="group__type.html#ga7740e349b4f8bae6451547680f0ce2d6">qreal</a>&#160;</td>
          <td class="paramname"><em>probX</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="group__type.html#ga7740e349b4f8bae6451547680f0ce2d6">qreal</a>&#160;</td>
          <td class="paramname"><em>probY</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="group__type.html#ga7740e349b4f8bae6451547680f0ce2d6">qreal</a>&#160;</td>
          <td class="paramname"><em>probZ</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>caller</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p class="definition">Definition at line <a class="el" href="QuEST__validation_8c_source.html#l00552">552</a> of file <a class="el" href="QuEST__validation_8c_source.html">QuEST_validation.c</a>.</p>
<div class="fragment"><div class="line"><a name="l00552"></a><span class="lineno">  552</span>&#160;                                                                                           {</div>
<div class="line"><a name="l00553"></a><span class="lineno">  553</span>&#160;    <a class="code" href="QuEST__validation_8c.html#ae06b0f6b669c03241d0db3b9dc560da1">validateProb</a>(probX, caller);</div>
<div class="line"><a name="l00554"></a><span class="lineno">  554</span>&#160;    <a class="code" href="QuEST__validation_8c.html#ae06b0f6b669c03241d0db3b9dc560da1">validateProb</a>(probY, caller);</div>
<div class="line"><a name="l00555"></a><span class="lineno">  555</span>&#160;    <a class="code" href="QuEST__validation_8c.html#ae06b0f6b669c03241d0db3b9dc560da1">validateProb</a>(probZ, caller);</div>
<div class="line"><a name="l00556"></a><span class="lineno">  556</span>&#160;    </div>
<div class="line"><a name="l00557"></a><span class="lineno">  557</span>&#160;    <a class="code" href="group__type.html#ga7740e349b4f8bae6451547680f0ce2d6">qreal</a> probNoError = 1 - probX - probY - probZ;</div>
<div class="line"><a name="l00558"></a><span class="lineno">  558</span>&#160;    <a class="code" href="QuEST__validation_8c.html#a1cd60afc39f9970619db1ba7ca89d258">QuESTAssert</a>(probX &lt;= probNoError, <a class="code" href="QuEST__validation_8c.html#a59e56af19e754a6aa26a612ebf91d05fadb4ac75daa2005c22ae07d400a9e20cc">E_INVALID_ONE_QUBIT_PAULI_PROBS</a>, caller);</div>
<div class="line"><a name="l00559"></a><span class="lineno">  559</span>&#160;    <a class="code" href="QuEST__validation_8c.html#a1cd60afc39f9970619db1ba7ca89d258">QuESTAssert</a>(probY &lt;= probNoError, <a class="code" href="QuEST__validation_8c.html#a59e56af19e754a6aa26a612ebf91d05fadb4ac75daa2005c22ae07d400a9e20cc">E_INVALID_ONE_QUBIT_PAULI_PROBS</a>, caller);</div>
<div class="line"><a name="l00560"></a><span class="lineno">  560</span>&#160;    <a class="code" href="QuEST__validation_8c.html#a1cd60afc39f9970619db1ba7ca89d258">QuESTAssert</a>(probZ &lt;= probNoError, <a class="code" href="QuEST__validation_8c.html#a59e56af19e754a6aa26a612ebf91d05fadb4ac75daa2005c22ae07d400a9e20cc">E_INVALID_ONE_QUBIT_PAULI_PROBS</a>, caller);</div>
<div class="line"><a name="l00561"></a><span class="lineno">  561</span>&#160;}</div>
</div><!-- fragment -->
<p class="reference">References <a class="el" href="QuEST__validation_8c_source.html#l00073">E_INVALID_ONE_QUBIT_PAULI_PROBS</a>, <a class="el" href="group__type.html#ga7740e349b4f8bae6451547680f0ce2d6">qreal</a>, <a class="el" href="QuEST__validation_8c_source.html#l00180">QuESTAssert()</a>, and <a class="el" href="QuEST__validation_8c_source.html#l00515">validateProb()</a>.</p>

<p class="reference">Referenced by <a class="el" href="QuEST_8c_source.html#l01054">mixPauli()</a>.</p>

</div>
</div>
<a id="a0344fbbb2bb505f7db14b420153f1eb5"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a0344fbbb2bb505f7db14b420153f1eb5">&#9670;&nbsp;</a></span>validateOneQubitUnitaryMatrix()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void validateOneQubitUnitaryMatrix </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structComplexMatrix2.html">ComplexMatrix2</a>&#160;</td>
          <td class="paramname"><em>u</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>caller</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p class="definition">Definition at line <a class="el" href="QuEST__validation_8c_source.html#l00441">441</a> of file <a class="el" href="QuEST__validation_8c_source.html">QuEST_validation.c</a>.</p>
<div class="fragment"><div class="line"><a name="l00441"></a><span class="lineno">  441</span>&#160;                                                                         {</div>
<div class="line"><a name="l00442"></a><span class="lineno">  442</span>&#160;    <a class="code" href="QuEST__validation_8c.html#a1cd60afc39f9970619db1ba7ca89d258">QuESTAssert</a>(<a class="code" href="QuEST__validation_8c.html#ac018fbf837a5573d9666d3f78c7681d1">isMatrix2Unitary</a>(u), <a class="code" href="QuEST__validation_8c.html#a59e56af19e754a6aa26a612ebf91d05faf5ff674a1ea149739b8642262d11051d">E_NON_UNITARY_MATRIX</a>, caller);</div>
<div class="line"><a name="l00443"></a><span class="lineno">  443</span>&#160;}</div>
</div><!-- fragment -->
<p class="reference">References <a class="el" href="QuEST__validation_8c_source.html#l00055">E_NON_UNITARY_MATRIX</a>, <a class="el" href="QuEST__validation_8c_source.html#l00227">isMatrix2Unitary()</a>, and <a class="el" href="QuEST__validation_8c_source.html#l00180">QuESTAssert()</a>.</p>

<p class="reference">Referenced by <a class="el" href="QuEST_8c_source.html#l00361">controlledUnitary()</a>, <a class="el" href="QuEST_8c_source.html#l00374">multiControlledUnitary()</a>, <a class="el" href="QuEST_8c_source.html#l00389">multiStateControlledUnitary()</a>, and <a class="el" href="QuEST_8c_source.html#l00349">unitary()</a>.</p>

</div>
</div>
<a id="ad613c75ff252a88e54f911053bd2032c"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ad613c75ff252a88e54f911053bd2032c">&#9670;&nbsp;</a></span>validateOutcome()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void validateOutcome </td>
          <td>(</td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>outcome</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>caller</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p class="definition">Definition at line <a class="el" href="QuEST__validation_8c_source.html#l00487">487</a> of file <a class="el" href="QuEST__validation_8c_source.html">QuEST_validation.c</a>.</p>
<div class="fragment"><div class="line"><a name="l00487"></a><span class="lineno">  487</span>&#160;                                                      {</div>
<div class="line"><a name="l00488"></a><span class="lineno">  488</span>&#160;    <a class="code" href="QuEST__validation_8c.html#a1cd60afc39f9970619db1ba7ca89d258">QuESTAssert</a>(outcome==0 || outcome==1, <a class="code" href="QuEST__validation_8c.html#a59e56af19e754a6aa26a612ebf91d05faf570526aaa50558c2d9ae5fd74c172e9">E_INVALID_QUBIT_OUTCOME</a>, caller);</div>
<div class="line"><a name="l00489"></a><span class="lineno">  489</span>&#160;}</div>
</div><!-- fragment -->
<p class="reference">References <a class="el" href="QuEST__validation_8c_source.html#l00060">E_INVALID_QUBIT_OUTCOME</a>, and <a class="el" href="QuEST__validation_8c_source.html#l00180">QuESTAssert()</a>.</p>

<p class="reference">Referenced by <a class="el" href="QuEST_8c_source.html#l00926">calcProbOfOutcome()</a>, <a class="el" href="QuEST_8c_source.html#l00726">collapseToOutcome()</a>, and <a class="el" href="QuEST_8c_source.html#l01317">initStateOfSingleQubit()</a>.</p>

</div>
</div>
<a id="aa194ba5f5c6e19c6caa4c715b3dbefcc"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aa194ba5f5c6e19c6caa4c715b3dbefcc">&#9670;&nbsp;</a></span>validatePauliCodes()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void validatePauliCodes </td>
          <td>(</td>
          <td class="paramtype">enum <a class="el" href="group__type.html#ga1c703cf89629e4e9c7023cd402d67028">pauliOpType</a> *&#160;</td>
          <td class="paramname"><em>pauliCodes</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>numPauliCodes</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>caller</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p class="definition">Definition at line <a class="el" href="QuEST__validation_8c_source.html#l00563">563</a> of file <a class="el" href="QuEST__validation_8c_source.html">QuEST_validation.c</a>.</p>
<div class="fragment"><div class="line"><a name="l00563"></a><span class="lineno">  563</span>&#160;                                                                                             {</div>
<div class="line"><a name="l00564"></a><span class="lineno">  564</span>&#160;    <span class="keywordflow">for</span> (<span class="keywordtype">int</span> i=0; i &lt; numPauliCodes; i++) {</div>
<div class="line"><a name="l00565"></a><span class="lineno">  565</span>&#160;        <span class="keyword">enum</span> <a class="code" href="group__type.html#ga1c703cf89629e4e9c7023cd402d67028">pauliOpType</a> code = pauliCodes[i];</div>
<div class="line"><a name="l00566"></a><span class="lineno">  566</span>&#160;        <a class="code" href="QuEST__validation_8c.html#a1cd60afc39f9970619db1ba7ca89d258">QuESTAssert</a>(<a class="code" href="QuEST__validation_8c.html#a81c88e4b0024ab1c24d891267676d215">isValidPauliCode</a>(code), <a class="code" href="QuEST__validation_8c.html#a59e56af19e754a6aa26a612ebf91d05faeb4aa6192443b9c627223d7bbb1e4ac2">E_INVALID_PAULI_CODE</a>, caller);</div>
<div class="line"><a name="l00567"></a><span class="lineno">  567</span>&#160;    }</div>
<div class="line"><a name="l00568"></a><span class="lineno">  568</span>&#160;}</div>
</div><!-- fragment -->
<p class="reference">References <a class="el" href="QuEST__validation_8c_source.html#l00075">E_INVALID_PAULI_CODE</a>, <a class="el" href="QuEST__validation_8c_source.html#l00275">isValidPauliCode()</a>, and <a class="el" href="QuEST__validation_8c_source.html#l00180">QuESTAssert()</a>.</p>

<p class="reference">Referenced by <a class="el" href="QuEST_8c_source.html#l00808">applyPauliSum()</a>, <a class="el" href="QuEST_8c_source.html#l00952">calcExpecPauliProd()</a>, <a class="el" href="QuEST_8c_source.html#l00961">calcExpecPauliSum()</a>, <a class="el" href="QuEST_8c_source.html#l01253">initPauliHamil()</a>, <a class="el" href="QuEST_8c_source.html#l00642">multiRotatePauli()</a>, and <a class="el" href="QuEST__validation_8c_source.html#l00619">validatePauliHamil()</a>.</p>

</div>
</div>
<a id="a066b0c4d0b02a0f3b9be7e5c68d9de6a"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a066b0c4d0b02a0f3b9be7e5c68d9de6a">&#9670;&nbsp;</a></span>validatePauliHamil()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void validatePauliHamil </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structPauliHamil.html">PauliHamil</a>&#160;</td>
          <td class="paramname"><em>hamil</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>caller</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p class="definition">Definition at line <a class="el" href="QuEST__validation_8c_source.html#l00619">619</a> of file <a class="el" href="QuEST__validation_8c_source.html">QuEST_validation.c</a>.</p>
<div class="fragment"><div class="line"><a name="l00619"></a><span class="lineno">  619</span>&#160;                                                              {</div>
<div class="line"><a name="l00620"></a><span class="lineno">  620</span>&#160;    <a class="code" href="QuEST__validation_8c.html#a7de9c41e77487a2939ed076f0cf674e7">validateHamilParams</a>(hamil.<a class="code" href="structPauliHamil.html#acb49fff0e3160ea1904c9ca34408b4e1">numQubits</a>, hamil.<a class="code" href="structPauliHamil.html#a737e46b40ef8990cf004d22eb9dbe2e4">numSumTerms</a>, caller);</div>
<div class="line"><a name="l00621"></a><span class="lineno">  621</span>&#160;    <a class="code" href="QuEST__validation_8c.html#aa194ba5f5c6e19c6caa4c715b3dbefcc">validatePauliCodes</a>(hamil.<a class="code" href="structPauliHamil.html#a4b8d38c403553c07ceddcd40c46ce6c8">pauliCodes</a>, hamil.<a class="code" href="structPauliHamil.html#a737e46b40ef8990cf004d22eb9dbe2e4">numSumTerms</a>*hamil.<a class="code" href="structPauliHamil.html#acb49fff0e3160ea1904c9ca34408b4e1">numQubits</a>, caller);</div>
<div class="line"><a name="l00622"></a><span class="lineno">  622</span>&#160;}</div>
</div><!-- fragment -->
<p class="reference">References <a class="el" href="QuEST_8h_source.html#l00168">PauliHamil::numQubits</a>, <a class="el" href="QuEST_8h_source.html#l00166">PauliHamil::numSumTerms</a>, <a class="el" href="QuEST_8h_source.html#l00162">PauliHamil::pauliCodes</a>, <a class="el" href="QuEST__validation_8c_source.html#l00615">validateHamilParams()</a>, and <a class="el" href="QuEST__validation_8c_source.html#l00563">validatePauliCodes()</a>.</p>

<p class="reference">Referenced by <a class="el" href="QuEST_8c_source.html#l00819">applyPauliHamil()</a>, <a class="el" href="QuEST_8c_source.html#l00830">applyTrotterCircuit()</a>, <a class="el" href="QuEST_8c_source.html#l00970">calcExpecPauliHamil()</a>, and <a class="el" href="QuEST_8c_source.html#l01328">reportPauliHamil()</a>.</p>

</div>
</div>
<a id="ae06b0f6b669c03241d0db3b9dc560da1"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ae06b0f6b669c03241d0db3b9dc560da1">&#9670;&nbsp;</a></span>validateProb()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void validateProb </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="group__type.html#ga7740e349b4f8bae6451547680f0ce2d6">qreal</a>&#160;</td>
          <td class="paramname"><em>prob</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>caller</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p class="definition">Definition at line <a class="el" href="QuEST__validation_8c_source.html#l00515">515</a> of file <a class="el" href="QuEST__validation_8c_source.html">QuEST_validation.c</a>.</p>
<div class="fragment"><div class="line"><a name="l00515"></a><span class="lineno">  515</span>&#160;                                                  {</div>
<div class="line"><a name="l00516"></a><span class="lineno">  516</span>&#160;    <a class="code" href="QuEST__validation_8c.html#a1cd60afc39f9970619db1ba7ca89d258">QuESTAssert</a>(prob &gt;= 0 &amp;&amp; prob &lt;= 1, <a class="code" href="QuEST__validation_8c.html#a59e56af19e754a6aa26a612ebf91d05fa93bbec0f9fd753287b43a5004606b213">E_INVALID_PROB</a>, caller);</div>
<div class="line"><a name="l00517"></a><span class="lineno">  517</span>&#160;}</div>
</div><!-- fragment -->
<p class="reference">References <a class="el" href="QuEST__validation_8c_source.html#l00067">E_INVALID_PROB</a>, and <a class="el" href="QuEST__validation_8c_source.html#l00180">QuESTAssert()</a>.</p>

<p class="reference">Referenced by <a class="el" href="QuEST_8c_source.html#l00772">mixDensityMatrix()</a>, <a class="el" href="QuEST__validation_8c_source.html#l00519">validateNormProbs()</a>, <a class="el" href="QuEST__validation_8c_source.html#l00542">validateOneQubitDampingProb()</a>, <a class="el" href="QuEST__validation_8c_source.html#l00527">validateOneQubitDephaseProb()</a>, <a class="el" href="QuEST__validation_8c_source.html#l00537">validateOneQubitDepolProb()</a>, <a class="el" href="QuEST__validation_8c_source.html#l00552">validateOneQubitPauliProbs()</a>, <a class="el" href="QuEST__validation_8c_source.html#l00532">validateTwoQubitDephaseProb()</a>, and <a class="el" href="QuEST__validation_8c_source.html#l00547">validateTwoQubitDepolProb()</a>.</p>

</div>
</div>
<a id="a7adc86571f1154558676d95daf0cbd1f"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a7adc86571f1154558676d95daf0cbd1f">&#9670;&nbsp;</a></span>validateSecondQuregStateVec()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void validateSecondQuregStateVec </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structQureg.html">Qureg</a>&#160;</td>
          <td class="paramname"><em>qureg2</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>caller</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p class="definition">Definition at line <a class="el" href="QuEST__validation_8c_source.html#l00503">503</a> of file <a class="el" href="QuEST__validation_8c_source.html">QuEST_validation.c</a>.</p>
<div class="fragment"><div class="line"><a name="l00503"></a><span class="lineno">  503</span>&#160;                                                                   {</div>
<div class="line"><a name="l00504"></a><span class="lineno">  504</span>&#160;    <a class="code" href="QuEST__validation_8c.html#a1cd60afc39f9970619db1ba7ca89d258">QuESTAssert</a>( ! qureg2.<a class="code" href="structQureg.html#acf78445e9435d09f44f0cc832c6aee79">isDensityMatrix</a>, <a class="code" href="QuEST__validation_8c.html#a59e56af19e754a6aa26a612ebf91d05fa8027a11d972301ce2db1cc3e89fc0d21">E_SECOND_ARG_MUST_BE_STATEVEC</a>, caller);</div>
<div class="line"><a name="l00505"></a><span class="lineno">  505</span>&#160;}</div>
</div><!-- fragment -->
<p class="reference">References <a class="el" href="QuEST__validation_8c_source.html#l00062">E_SECOND_ARG_MUST_BE_STATEVEC</a>, <a class="el" href="QuEST_8h_source.html#l00206">Qureg::isDensityMatrix</a>, and <a class="el" href="QuEST__validation_8c_source.html#l00180">QuESTAssert()</a>.</p>

<p class="reference">Referenced by <a class="el" href="QuEST_8c_source.html#l00942">calcFidelity()</a>, and <a class="el" href="QuEST_8c_source.html#l00145">initPureState()</a>.</p>

</div>
</div>
<a id="a57dc69bb7a2217aafca676b0923d5e27"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a57dc69bb7a2217aafca676b0923d5e27">&#9670;&nbsp;</a></span>validateStateIndex()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void validateStateIndex </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structQureg.html">Qureg</a>&#160;</td>
          <td class="paramname"><em>qureg</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">long long int&#160;</td>
          <td class="paramname"><em>stateInd</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>caller</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p class="definition">Definition at line <a class="el" href="QuEST__validation_8c_source.html#l00341">341</a> of file <a class="el" href="QuEST__validation_8c_source.html">QuEST_validation.c</a>.</p>
<div class="fragment"><div class="line"><a name="l00341"></a><span class="lineno">  341</span>&#160;                                                                                 {</div>
<div class="line"><a name="l00342"></a><span class="lineno">  342</span>&#160;    <span class="keywordtype">long</span> <span class="keywordtype">long</span> <span class="keywordtype">int</span> stateMax = 1LL &lt;&lt; qureg.<a class="code" href="structQureg.html#ad08dff5316b8937f4b2a1417591543dc">numQubitsRepresented</a>;</div>
<div class="line"><a name="l00343"></a><span class="lineno">  343</span>&#160;    <a class="code" href="QuEST__validation_8c.html#a1cd60afc39f9970619db1ba7ca89d258">QuESTAssert</a>(stateInd&gt;=0 &amp;&amp; stateInd&lt;stateMax, <a class="code" href="QuEST__validation_8c.html#a59e56af19e754a6aa26a612ebf91d05fa65bef0cc4f53e42ded7d66b62d585e1a">E_INVALID_STATE_INDEX</a>, caller);</div>
<div class="line"><a name="l00344"></a><span class="lineno">  344</span>&#160;}</div>
</div><!-- fragment -->
<p class="reference">References <a class="el" href="QuEST__validation_8c_source.html#l00039">E_INVALID_STATE_INDEX</a>, <a class="el" href="QuEST_8h_source.html#l00208">Qureg::numQubitsRepresented</a>, and <a class="el" href="QuEST__validation_8c_source.html#l00180">QuESTAssert()</a>.</p>

<p class="reference">Referenced by <a class="el" href="QuEST_8c_source.html#l00134">initClassicalState()</a>.</p>

</div>
</div>
<a id="a72feec2aaa05f98aed7f3c3fee141251"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a72feec2aaa05f98aed7f3c3fee141251">&#9670;&nbsp;</a></span>validateStateVecQureg()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void validateStateVecQureg </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structQureg.html">Qureg</a>&#160;</td>
          <td class="paramname"><em>qureg</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>caller</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p class="definition">Definition at line <a class="el" href="QuEST__validation_8c_source.html#l00479">479</a> of file <a class="el" href="QuEST__validation_8c_source.html">QuEST_validation.c</a>.</p>
<div class="fragment"><div class="line"><a name="l00479"></a><span class="lineno">  479</span>&#160;                                                            {</div>
<div class="line"><a name="l00480"></a><span class="lineno">  480</span>&#160;    <a class="code" href="QuEST__validation_8c.html#a1cd60afc39f9970619db1ba7ca89d258">QuESTAssert</a>( ! qureg.<a class="code" href="structQureg.html#acf78445e9435d09f44f0cc832c6aee79">isDensityMatrix</a>, <a class="code" href="QuEST__validation_8c.html#a59e56af19e754a6aa26a612ebf91d05fa35d4f22969f6f2cd2dcaac4d444156ad">E_DEFINED_ONLY_FOR_STATEVECS</a>, caller);</div>
<div class="line"><a name="l00481"></a><span class="lineno">  481</span>&#160;}</div>
</div><!-- fragment -->
<p class="reference">References <a class="el" href="QuEST__validation_8c_source.html#l00065">E_DEFINED_ONLY_FOR_STATEVECS</a>, <a class="el" href="QuEST_8h_source.html#l00206">Qureg::isDensityMatrix</a>, and <a class="el" href="QuEST__validation_8c_source.html#l00180">QuESTAssert()</a>.</p>

<p class="reference">Referenced by <a class="el" href="QuEST_8c_source.html#l00910">calcInnerProduct()</a>, <a class="el" href="QuEST_8c_source.html#l00699">getAmp()</a>, <a class="el" href="QuEST_8c_source.html#l00685">getImagAmp()</a>, <a class="el" href="QuEST_8c_source.html#l00672">getNumAmps()</a>, <a class="el" href="QuEST_8c_source.html#l00692">getProbAmp()</a>, <a class="el" href="QuEST_8c_source.html#l00678">getRealAmp()</a>, <a class="el" href="QuEST_8c_source.html#l00157">initStateFromAmps()</a>, <a class="el" href="QuEST_8c_source.html#l01317">initStateOfSingleQubit()</a>, and <a class="el" href="QuEST_8c_source.html#l00781">setAmps()</a>.</p>

</div>
</div>
<a id="ac31c45c5a31c523be0eb26abba6cf598"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ac31c45c5a31c523be0eb26abba6cf598">&#9670;&nbsp;</a></span>validateTarget()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void validateTarget </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structQureg.html">Qureg</a>&#160;</td>
          <td class="paramname"><em>qureg</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>targetQubit</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>caller</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p class="definition">Definition at line <a class="el" href="QuEST__validation_8c_source.html#l00364">364</a> of file <a class="el" href="QuEST__validation_8c_source.html">QuEST_validation.c</a>.</p>
<div class="fragment"><div class="line"><a name="l00364"></a><span class="lineno">  364</span>&#160;                                                                      {</div>
<div class="line"><a name="l00365"></a><span class="lineno">  365</span>&#160;    <a class="code" href="QuEST__validation_8c.html#a1cd60afc39f9970619db1ba7ca89d258">QuESTAssert</a>(targetQubit&gt;=0 &amp;&amp; targetQubit&lt;qureg.<a class="code" href="structQureg.html#ad08dff5316b8937f4b2a1417591543dc">numQubitsRepresented</a>, <a class="code" href="QuEST__validation_8c.html#a59e56af19e754a6aa26a612ebf91d05fa9c12328bf9da962f40c2c91576047b9a">E_INVALID_TARGET_QUBIT</a>, caller);</div>
<div class="line"><a name="l00366"></a><span class="lineno">  366</span>&#160;}</div>
</div><!-- fragment -->
<p class="reference">References <a class="el" href="QuEST__validation_8c_source.html#l00037">E_INVALID_TARGET_QUBIT</a>, <a class="el" href="QuEST_8h_source.html#l00208">Qureg::numQubitsRepresented</a>, and <a class="el" href="QuEST__validation_8c_source.html#l00180">QuESTAssert()</a>.</p>

<p class="reference">Referenced by <a class="el" href="QuEST_8c_source.html#l00844">applyMatrix2()</a>, <a class="el" href="QuEST_8c_source.html#l00926">calcProbOfOutcome()</a>, <a class="el" href="QuEST_8c_source.html#l00726">collapseToOutcome()</a>, <a class="el" href="QuEST_8c_source.html#l00405">compactUnitary()</a>, <a class="el" href="QuEST_8c_source.html#l00177">hadamard()</a>, <a class="el" href="QuEST_8c_source.html#l01317">initStateOfSingleQubit()</a>, <a class="el" href="QuEST_8c_source.html#l00758">measure()</a>, <a class="el" href="QuEST_8c_source.html#l00745">measureWithStats()</a>, <a class="el" href="QuEST_8c_source.html#l01034">mixDamping()</a>, <a class="el" href="QuEST_8c_source.html#l01001">mixDephasing()</a>, <a class="el" href="QuEST_8c_source.html#l01023">mixDepolarising()</a>, <a class="el" href="QuEST_8c_source.html#l01065">mixKrausMap()</a>, <a class="el" href="QuEST_8c_source.html#l01054">mixPauli()</a>, <a class="el" href="QuEST_8c_source.html#l00433">pauliX()</a>, <a class="el" href="QuEST_8c_source.html#l00444">pauliY()</a>, <a class="el" href="QuEST_8c_source.html#l00455">pauliZ()</a>, <a class="el" href="QuEST_8c_source.html#l00488">phaseShift()</a>, <a class="el" href="QuEST_8c_source.html#l00575">rotateAroundAxis()</a>, <a class="el" href="QuEST_8c_source.html#l00188">rotateX()</a>, <a class="el" href="QuEST_8c_source.html#l00199">rotateY()</a>, <a class="el" href="QuEST_8c_source.html#l00210">rotateZ()</a>, <a class="el" href="QuEST_8c_source.html#l00466">sGate()</a>, <a class="el" href="QuEST_8c_source.html#l00477">tGate()</a>, <a class="el" href="QuEST_8c_source.html#l00349">unitary()</a>, <a class="el" href="QuEST__validation_8c_source.html#l00372">validateControlTarget()</a>, <a class="el" href="QuEST__validation_8c_source.html#l00416">validateMultiControlsTarget()</a>, <a class="el" href="QuEST__validation_8c_source.html#l00392">validateMultiTargets()</a>, and <a class="el" href="QuEST__validation_8c_source.html#l00378">validateUniqueTargets()</a>.</p>

</div>
</div>
<a id="a82b142fe77ba20c87142274f32e57689"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a82b142fe77ba20c87142274f32e57689">&#9670;&nbsp;</a></span>validateTrotterParams()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void validateTrotterParams </td>
          <td>(</td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>order</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>reps</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>caller</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p class="definition">Definition at line <a class="el" href="QuEST__validation_8c_source.html#l00667">667</a> of file <a class="el" href="QuEST__validation_8c_source.html">QuEST_validation.c</a>.</p>
<div class="fragment"><div class="line"><a name="l00667"></a><span class="lineno">  667</span>&#160;                                                                    {</div>
<div class="line"><a name="l00668"></a><span class="lineno">  668</span>&#160;    <span class="keywordtype">int</span> isEven = (order % 2) == 0;</div>
<div class="line"><a name="l00669"></a><span class="lineno">  669</span>&#160;    <a class="code" href="QuEST__validation_8c.html#a1cd60afc39f9970619db1ba7ca89d258">QuESTAssert</a>(order &gt; 0 &amp;&amp; (isEven || order==1), <a class="code" href="QuEST__validation_8c.html#a59e56af19e754a6aa26a612ebf91d05fa9441b99173f26df8010b1e05c55a7a91">E_INVALID_TROTTER_ORDER</a>, caller);</div>
<div class="line"><a name="l00670"></a><span class="lineno">  670</span>&#160;    <a class="code" href="QuEST__validation_8c.html#a1cd60afc39f9970619db1ba7ca89d258">QuESTAssert</a>(reps &gt; 0, <a class="code" href="QuEST__validation_8c.html#a59e56af19e754a6aa26a612ebf91d05fa1cd38647d334bbc89842adac92ea8b6d">E_INVALID_TROTTER_REPS</a>, caller);</div>
<div class="line"><a name="l00671"></a><span class="lineno">  671</span>&#160;}</div>
</div><!-- fragment -->
<p class="reference">References <a class="el" href="QuEST__validation_8c_source.html#l00094">E_INVALID_TROTTER_ORDER</a>, <a class="el" href="QuEST__validation_8c_source.html#l00095">E_INVALID_TROTTER_REPS</a>, and <a class="el" href="QuEST__validation_8c_source.html#l00180">QuESTAssert()</a>.</p>

<p class="reference">Referenced by <a class="el" href="QuEST_8c_source.html#l00830">applyTrotterCircuit()</a>.</p>

</div>
</div>
<a id="a2f58e35b04edfbc053e0c9ae19f1be97"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a2f58e35b04edfbc053e0c9ae19f1be97">&#9670;&nbsp;</a></span>validateTwoQubitDephaseProb()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void validateTwoQubitDephaseProb </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="group__type.html#ga7740e349b4f8bae6451547680f0ce2d6">qreal</a>&#160;</td>
          <td class="paramname"><em>prob</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>caller</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p class="definition">Definition at line <a class="el" href="QuEST__validation_8c_source.html#l00532">532</a> of file <a class="el" href="QuEST__validation_8c_source.html">QuEST_validation.c</a>.</p>
<div class="fragment"><div class="line"><a name="l00532"></a><span class="lineno">  532</span>&#160;                                                                 {</div>
<div class="line"><a name="l00533"></a><span class="lineno">  533</span>&#160;    <a class="code" href="QuEST__validation_8c.html#ae06b0f6b669c03241d0db3b9dc560da1">validateProb</a>(prob, caller);</div>
<div class="line"><a name="l00534"></a><span class="lineno">  534</span>&#160;    <a class="code" href="QuEST__validation_8c.html#a1cd60afc39f9970619db1ba7ca89d258">QuESTAssert</a>(prob &lt;= 3/4.0, <a class="code" href="QuEST__validation_8c.html#a59e56af19e754a6aa26a612ebf91d05fa117f97d3ec363d812e6062332d58573a">E_INVALID_TWO_QUBIT_DEPHASE_PROB</a>, caller);</div>
<div class="line"><a name="l00535"></a><span class="lineno">  535</span>&#160;}</div>
</div><!-- fragment -->
<p class="reference">References <a class="el" href="QuEST__validation_8c_source.html#l00070">E_INVALID_TWO_QUBIT_DEPHASE_PROB</a>, <a class="el" href="QuEST__validation_8c_source.html#l00180">QuESTAssert()</a>, and <a class="el" href="QuEST__validation_8c_source.html#l00515">validateProb()</a>.</p>

<p class="reference">Referenced by <a class="el" href="QuEST_8c_source.html#l01011">mixTwoQubitDephasing()</a>.</p>

</div>
</div>
<a id="abedaf81fa9ed252b2f8fbd1bd73f8f8e"></a>
<h2 class="memtitle"><span class="permalink"><a href="#abedaf81fa9ed252b2f8fbd1bd73f8f8e">&#9670;&nbsp;</a></span>validateTwoQubitDepolProb()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void validateTwoQubitDepolProb </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="group__type.html#ga7740e349b4f8bae6451547680f0ce2d6">qreal</a>&#160;</td>
          <td class="paramname"><em>prob</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>caller</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p class="definition">Definition at line <a class="el" href="QuEST__validation_8c_source.html#l00547">547</a> of file <a class="el" href="QuEST__validation_8c_source.html">QuEST_validation.c</a>.</p>
<div class="fragment"><div class="line"><a name="l00547"></a><span class="lineno">  547</span>&#160;                                                               {</div>
<div class="line"><a name="l00548"></a><span class="lineno">  548</span>&#160;    <a class="code" href="QuEST__validation_8c.html#ae06b0f6b669c03241d0db3b9dc560da1">validateProb</a>(prob, caller);</div>
<div class="line"><a name="l00549"></a><span class="lineno">  549</span>&#160;    <a class="code" href="QuEST__validation_8c.html#a1cd60afc39f9970619db1ba7ca89d258">QuESTAssert</a>(prob &lt;= 15/16.0, <a class="code" href="QuEST__validation_8c.html#a59e56af19e754a6aa26a612ebf91d05fae449855c10219deb369b18ed6d1b357d">E_INVALID_TWO_QUBIT_DEPOL_PROB</a>, caller);</div>
<div class="line"><a name="l00550"></a><span class="lineno">  550</span>&#160;}</div>
</div><!-- fragment -->
<p class="reference">References <a class="el" href="QuEST__validation_8c_source.html#l00072">E_INVALID_TWO_QUBIT_DEPOL_PROB</a>, <a class="el" href="QuEST__validation_8c_source.html#l00180">QuESTAssert()</a>, and <a class="el" href="QuEST__validation_8c_source.html#l00515">validateProb()</a>.</p>

<p class="reference">Referenced by <a class="el" href="QuEST_8c_source.html#l01042">mixTwoQubitDepolarising()</a>.</p>

</div>
</div>
<a id="ad0f5b8fe9cf31ef3a565e722966a5511"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ad0f5b8fe9cf31ef3a565e722966a5511">&#9670;&nbsp;</a></span>validateTwoQubitKrausMap()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void validateTwoQubitKrausMap </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structQureg.html">Qureg</a>&#160;</td>
          <td class="paramname"><em>qureg</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="structComplexMatrix4.html">ComplexMatrix4</a> *&#160;</td>
          <td class="paramname"><em>ops</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>numOps</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>caller</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p class="definition">Definition at line <a class="el" href="QuEST__validation_8c_source.html#l00586">586</a> of file <a class="el" href="QuEST__validation_8c_source.html">QuEST_validation.c</a>.</p>
<div class="fragment"><div class="line"><a name="l00586"></a><span class="lineno">  586</span>&#160;                                                                                                {</div>
<div class="line"><a name="l00587"></a><span class="lineno">  587</span>&#160;    <span class="keywordtype">int</span> opNumQubits = 2;</div>
<div class="line"><a name="l00588"></a><span class="lineno">  588</span>&#160;    <span class="keywordtype">int</span> superOpNumQubits = 2*opNumQubits;</div>
<div class="line"><a name="l00589"></a><span class="lineno">  589</span>&#160;    <span class="keywordtype">int</span> maxNumOps = superOpNumQubits*superOpNumQubits;</div>
<div class="line"><a name="l00590"></a><span class="lineno">  590</span>&#160;    <a class="code" href="QuEST__validation_8c.html#a1cd60afc39f9970619db1ba7ca89d258">QuESTAssert</a>(numOps &gt; 0 &amp;&amp; numOps &lt;= maxNumOps, <a class="code" href="QuEST__validation_8c.html#a59e56af19e754a6aa26a612ebf91d05fa363d5314df582811ec80b214cc2a53d0">E_INVALID_NUM_TWO_QUBIT_KRAUS_OPS</a>, caller);</div>
<div class="line"><a name="l00591"></a><span class="lineno">  591</span>&#160;    </div>
<div class="line"><a name="l00592"></a><span class="lineno">  592</span>&#160;    <a class="code" href="QuEST__validation_8c.html#aa28b7d9c0c3cf9c4be0e324fb9d6bf76">validateMultiQubitMatrixFitsInNode</a>(qureg, superOpNumQubits, caller);</div>
<div class="line"><a name="l00593"></a><span class="lineno">  593</span>&#160; </div>
<div class="line"><a name="l00594"></a><span class="lineno">  594</span>&#160;    <span class="keywordtype">int</span> isPos = <a class="code" href="QuEST__validation_8c.html#a6cb6ec22af47b86d112320a98925d267">isCompletelyPositiveMap4</a>(ops, numOps);</div>
<div class="line"><a name="l00595"></a><span class="lineno">  595</span>&#160;    <a class="code" href="QuEST__validation_8c.html#a1cd60afc39f9970619db1ba7ca89d258">QuESTAssert</a>(isPos, <a class="code" href="QuEST__validation_8c.html#a59e56af19e754a6aa26a612ebf91d05fa2bd3656eccdd1c4e090ba44318407225">E_INVALID_KRAUS_OPS</a>, caller);</div>
<div class="line"><a name="l00596"></a><span class="lineno">  596</span>&#160;}</div>
</div><!-- fragment -->
<p class="reference">References <a class="el" href="QuEST__validation_8c_source.html#l00083">E_INVALID_KRAUS_OPS</a>, <a class="el" href="QuEST__validation_8c_source.html#l00081">E_INVALID_NUM_TWO_QUBIT_KRAUS_OPS</a>, <a class="el" href="QuEST__validation_8c_source.html#l00267">isCompletelyPositiveMap4()</a>, <a class="el" href="QuEST__validation_8c_source.html#l00180">QuESTAssert()</a>, and <a class="el" href="QuEST__validation_8c_source.html#l00437">validateMultiQubitMatrixFitsInNode()</a>.</p>

<p class="reference">Referenced by <a class="el" href="QuEST_8c_source.html#l01075">mixTwoQubitKrausMap()</a>.</p>

</div>
</div>
<a id="a654db9d60abdcae26427e7d3b3d9c432"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a654db9d60abdcae26427e7d3b3d9c432">&#9670;&nbsp;</a></span>validateTwoQubitUnitaryMatrix()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void validateTwoQubitUnitaryMatrix </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structQureg.html">Qureg</a>&#160;</td>
          <td class="paramname"><em>qureg</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="structComplexMatrix4.html">ComplexMatrix4</a>&#160;</td>
          <td class="paramname"><em>u</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>caller</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p class="definition">Definition at line <a class="el" href="QuEST__validation_8c_source.html#l00445">445</a> of file <a class="el" href="QuEST__validation_8c_source.html">QuEST_validation.c</a>.</p>
<div class="fragment"><div class="line"><a name="l00445"></a><span class="lineno">  445</span>&#160;                                                                                      {</div>
<div class="line"><a name="l00446"></a><span class="lineno">  446</span>&#160;    <a class="code" href="QuEST__validation_8c.html#aa28b7d9c0c3cf9c4be0e324fb9d6bf76">validateMultiQubitMatrixFitsInNode</a>(qureg, 2, caller);</div>
<div class="line"><a name="l00447"></a><span class="lineno">  447</span>&#160;    <a class="code" href="QuEST__validation_8c.html#a1cd60afc39f9970619db1ba7ca89d258">QuESTAssert</a>(<a class="code" href="QuEST__validation_8c.html#a9cd87dda5c7b51ab4ddde09d13df16b3">isMatrix4Unitary</a>(u), <a class="code" href="QuEST__validation_8c.html#a59e56af19e754a6aa26a612ebf91d05faf5ff674a1ea149739b8642262d11051d">E_NON_UNITARY_MATRIX</a>, caller);</div>
<div class="line"><a name="l00448"></a><span class="lineno">  448</span>&#160;}</div>
</div><!-- fragment -->
<p class="reference">References <a class="el" href="QuEST__validation_8c_source.html#l00055">E_NON_UNITARY_MATRIX</a>, <a class="el" href="QuEST__validation_8c_source.html#l00233">isMatrix4Unitary()</a>, <a class="el" href="QuEST__validation_8c_source.html#l00180">QuESTAssert()</a>, and <a class="el" href="QuEST__validation_8c_source.html#l00437">validateMultiQubitMatrixFitsInNode()</a>.</p>

<p class="reference">Referenced by <a class="el" href="QuEST_8c_source.html#l00270">controlledTwoQubitUnitary()</a>, <a class="el" href="QuEST_8c_source.html#l00283">multiControlledTwoQubitUnitary()</a>, and <a class="el" href="QuEST_8c_source.html#l00257">twoQubitUnitary()</a>.</p>

</div>
</div>
<a id="aed5f85789dc4fa43b64e99e6b538035c"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aed5f85789dc4fa43b64e99e6b538035c">&#9670;&nbsp;</a></span>validateUniqueTargets()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void validateUniqueTargets </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structQureg.html">Qureg</a>&#160;</td>
          <td class="paramname"><em>qureg</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>qubit1</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>qubit2</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>caller</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p class="definition">Definition at line <a class="el" href="QuEST__validation_8c_source.html#l00378">378</a> of file <a class="el" href="QuEST__validation_8c_source.html">QuEST_validation.c</a>.</p>
<div class="fragment"><div class="line"><a name="l00378"></a><span class="lineno">  378</span>&#160;                                                                                    {</div>
<div class="line"><a name="l00379"></a><span class="lineno">  379</span>&#160;    <a class="code" href="QuEST__validation_8c.html#ac31c45c5a31c523be0eb26abba6cf598">validateTarget</a>(qureg, qubit1, caller);</div>
<div class="line"><a name="l00380"></a><span class="lineno">  380</span>&#160;    <a class="code" href="QuEST__validation_8c.html#ac31c45c5a31c523be0eb26abba6cf598">validateTarget</a>(qureg, qubit2, caller);</div>
<div class="line"><a name="l00381"></a><span class="lineno">  381</span>&#160;    <a class="code" href="QuEST__validation_8c.html#a1cd60afc39f9970619db1ba7ca89d258">QuESTAssert</a>(qubit1 != qubit2, <a class="code" href="QuEST__validation_8c.html#a59e56af19e754a6aa26a612ebf91d05fa323e5ea1a63ab51abbcf728a1c76b6ab">E_TARGETS_NOT_UNIQUE</a>, caller);</div>
<div class="line"><a name="l00382"></a><span class="lineno">  382</span>&#160;}</div>
</div><!-- fragment -->
<p class="reference">References <a class="el" href="QuEST__validation_8c_source.html#l00050">E_TARGETS_NOT_UNIQUE</a>, <a class="el" href="QuEST__validation_8c_source.html#l00180">QuESTAssert()</a>, and <a class="el" href="QuEST__validation_8c_source.html#l00364">validateTarget()</a>.</p>

<p class="reference">Referenced by <a class="el" href="QuEST_8c_source.html#l01011">mixTwoQubitDephasing()</a>, <a class="el" href="QuEST_8c_source.html#l01042">mixTwoQubitDepolarising()</a>, <a class="el" href="QuEST_8c_source.html#l00613">sqrtSwapGate()</a>, and <a class="el" href="QuEST_8c_source.html#l00601">swapGate()</a>.</p>

</div>
</div>
<a id="a5d49d4aadea858794b139c6a195ffd8b"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a5d49d4aadea858794b139c6a195ffd8b">&#9670;&nbsp;</a></span>validateUnitaryComplexPair()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void validateUnitaryComplexPair </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structComplex.html">Complex</a>&#160;</td>
          <td class="paramname"><em>alpha</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="structComplex.html">Complex</a>&#160;</td>
          <td class="paramname"><em>beta</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>caller</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p class="definition">Definition at line <a class="el" href="QuEST__validation_8c_source.html#l00471">471</a> of file <a class="el" href="QuEST__validation_8c_source.html">QuEST_validation.c</a>.</p>
<div class="fragment"><div class="line"><a name="l00471"></a><span class="lineno">  471</span>&#160;                                                                                 {</div>
<div class="line"><a name="l00472"></a><span class="lineno">  472</span>&#160;    <a class="code" href="QuEST__validation_8c.html#a1cd60afc39f9970619db1ba7ca89d258">QuESTAssert</a>(<a class="code" href="QuEST__validation_8c.html#a786b1167850b73501c52293fc8ea41fb">isComplexPairUnitary</a>(alpha, beta), <a class="code" href="QuEST__validation_8c.html#a59e56af19e754a6aa26a612ebf91d05fa1b0e380f3c20968423b6c3b5bc350844">E_NON_UNITARY_COMPLEX_PAIR</a>, caller);</div>
<div class="line"><a name="l00473"></a><span class="lineno">  473</span>&#160;}</div>
</div><!-- fragment -->
<p class="reference">References <a class="el" href="QuEST__validation_8c_source.html#l00056">E_NON_UNITARY_COMPLEX_PAIR</a>, <a class="el" href="QuEST__validation_8c_source.html#l00192">isComplexPairUnitary()</a>, and <a class="el" href="QuEST__validation_8c_source.html#l00180">QuESTAssert()</a>.</p>

<p class="reference">Referenced by <a class="el" href="QuEST_8c_source.html#l00405">compactUnitary()</a>, and <a class="el" href="QuEST_8c_source.html#l00418">controlledCompactUnitary()</a>.</p>

</div>
</div>
<a id="a782c6f57939eeb72b7be8e247979f3be"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a782c6f57939eeb72b7be8e247979f3be">&#9670;&nbsp;</a></span>validateVector()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void validateVector </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structVector.html">Vector</a>&#160;</td>
          <td class="paramname"><em>vec</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>caller</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p class="definition">Definition at line <a class="el" href="QuEST__validation_8c_source.html#l00475">475</a> of file <a class="el" href="QuEST__validation_8c_source.html">QuEST_validation.c</a>.</p>
<div class="fragment"><div class="line"><a name="l00475"></a><span class="lineno">  475</span>&#160;                                                    {</div>
<div class="line"><a name="l00476"></a><span class="lineno">  476</span>&#160;    <a class="code" href="QuEST__validation_8c.html#a1cd60afc39f9970619db1ba7ca89d258">QuESTAssert</a>(<a class="code" href="QuEST__common_8c.html#a3cf54148e2162b04aeb634badb90826c">getVectorMagnitude</a>(vec) &gt; REAL_EPS, <a class="code" href="QuEST__validation_8c.html#a59e56af19e754a6aa26a612ebf91d05fa08ea828707fd3d3ef1304c3871c8fcf9">E_ZERO_VECTOR</a>, caller);</div>
<div class="line"><a name="l00477"></a><span class="lineno">  477</span>&#160;}</div>
</div><!-- fragment -->
<p class="reference">References <a class="el" href="QuEST__validation_8c_source.html#l00057">E_ZERO_VECTOR</a>, <a class="el" href="QuEST__common_8c_source.html#l00073">getVectorMagnitude()</a>, and <a class="el" href="QuEST__validation_8c_source.html#l00180">QuESTAssert()</a>.</p>

<p class="reference">Referenced by <a class="el" href="QuEST_8c_source.html#l00588">controlledRotateAroundAxis()</a>, and <a class="el" href="QuEST_8c_source.html#l00575">rotateAroundAxis()</a>.</p>

</div>
</div>
<h2 class="groupheader">Variable Documentation</h2>
<a id="a75e57a6f82e7d4c0fda1549da1b38f6d"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a75e57a6f82e7d4c0fda1549da1b38f6d">&#9670;&nbsp;</a></span>errMsgBuffer</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">char errMsgBuffer[1024]</td>
        </tr>
      </table>
</div><div class="memdoc">

<p class="definition">Definition at line <a class="el" href="QuEST__validation_8c_source.html#l00030">30</a> of file <a class="el" href="QuEST__validation_8c_source.html">QuEST_validation.c</a>.</p>

<p class="reference">Referenced by <a class="el" href="QuEST__validation_8c_source.html#l00507">validateFileOpened()</a>, <a class="el" href="QuEST__validation_8c_source.html#l00637">validateHamilFileCoeffParsed()</a>, <a class="el" href="QuEST__validation_8c_source.html#l00628">validateHamilFileParams()</a>, <a class="el" href="QuEST__validation_8c_source.html#l00657">validateHamilFilePauliCode()</a>, and <a class="el" href="QuEST__validation_8c_source.html#l00647">validateHamilFilePauliParsed()</a>.</p>

</div>
</div>
<a id="a787fcf25439967fcf5b2d23f98589892"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a787fcf25439967fcf5b2d23f98589892">&#9670;&nbsp;</a></span>errorMessages</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">const char* errorMessages[]</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">static</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p class="definition">Definition at line <a class="el" href="QuEST__validation_8c_source.html#l00100">100</a> of file <a class="el" href="QuEST__validation_8c_source.html">QuEST_validation.c</a>.</p>

<p class="reference">Referenced by <a class="el" href="QuEST__validation_8c_source.html#l00180">QuESTAssert()</a>, <a class="el" href="QuEST__validation_8c_source.html#l00507">validateFileOpened()</a>, <a class="el" href="QuEST__validation_8c_source.html#l00637">validateHamilFileCoeffParsed()</a>, <a class="el" href="QuEST__validation_8c_source.html#l00628">validateHamilFileParams()</a>, <a class="el" href="QuEST__validation_8c_source.html#l00657">validateHamilFilePauliCode()</a>, and <a class="el" href="QuEST__validation_8c_source.html#l00647">validateHamilFilePauliParsed()</a>.</p>

</div>
</div>
</div><!-- contents -->
<div class="ttc" id="agroup__type_html_ga1c703cf89629e4e9c7023cd402d67028"><div class="ttname"><a href="group__type.html#ga1c703cf89629e4e9c7023cd402d67028">pauliOpType</a></div><div class="ttdeci">pauliOpType</div><div class="ttdoc">Codes for specifying Pauli operators.</div><div class="ttdef"><b>Definition:</b> <a href="QuEST_8h_source.html#l00096">QuEST.h:96</a></div></div>
<div class="ttc" id="aQuEST__validation_8c_html_a59e56af19e754a6aa26a612ebf91d05fae449855c10219deb369b18ed6d1b357d"><div class="ttname"><a href="QuEST__validation_8c.html#a59e56af19e754a6aa26a612ebf91d05fae449855c10219deb369b18ed6d1b357d">E_INVALID_TWO_QUBIT_DEPOL_PROB</a></div><div class="ttdeci">@ E_INVALID_TWO_QUBIT_DEPOL_PROB</div><div class="ttdef"><b>Definition:</b> <a href="QuEST__validation_8c_source.html#l00072">QuEST_validation.c:72</a></div></div>
<div class="ttc" id="aQuEST__validation_8c_html_a59e56af19e754a6aa26a612ebf91d05fa7c7ae480f5dfdfeda702d01dabd2e414"><div class="ttname"><a href="QuEST__validation_8c.html#a59e56af19e754a6aa26a612ebf91d05fa7c7ae480f5dfdfeda702d01dabd2e414">E_NUM_AMPS_EXCEED_TYPE</a></div><div class="ttdeci">@ E_NUM_AMPS_EXCEED_TYPE</div><div class="ttdef"><b>Definition:</b> <a href="QuEST__validation_8c_source.html#l00087">QuEST_validation.c:87</a></div></div>
<div class="ttc" id="aQuEST__validation_8c_html_ac31c45c5a31c523be0eb26abba6cf598"><div class="ttname"><a href="QuEST__validation_8c.html#ac31c45c5a31c523be0eb26abba6cf598">validateTarget</a></div><div class="ttdeci">void validateTarget(Qureg qureg, int targetQubit, const char *caller)</div><div class="ttdef"><b>Definition:</b> <a href="QuEST__validation_8c_source.html#l00364">QuEST_validation.c:364</a></div></div>
<div class="ttc" id="aQuEST__validation_8c_html_a59e56af19e754a6aa26a612ebf91d05faf570526aaa50558c2d9ae5fd74c172e9"><div class="ttname"><a href="QuEST__validation_8c.html#a59e56af19e754a6aa26a612ebf91d05faf570526aaa50558c2d9ae5fd74c172e9">E_INVALID_QUBIT_OUTCOME</a></div><div class="ttdeci">@ E_INVALID_QUBIT_OUTCOME</div><div class="ttdef"><b>Definition:</b> <a href="QuEST__validation_8c_source.html#l00060">QuEST_validation.c:60</a></div></div>
<div class="ttc" id="aQuEST__validation_8c_html_a59e56af19e754a6aa26a612ebf91d05faabf2d19483ecb6652a8f6134ec2ccb5b"><div class="ttname"><a href="QuEST__validation_8c.html#a59e56af19e754a6aa26a612ebf91d05faabf2d19483ecb6652a8f6134ec2ccb5b">E_CANNOT_PARSE_PAULI_HAMIL_FILE_COEFF</a></div><div class="ttdeci">@ E_CANNOT_PARSE_PAULI_HAMIL_FILE_COEFF</div><div class="ttdef"><b>Definition:</b> <a href="QuEST__validation_8c_source.html#l00090">QuEST_validation.c:90</a></div></div>
<div class="ttc" id="aQuEST__validation_8c_html_ac018fbf837a5573d9666d3f78c7681d1"><div class="ttname"><a href="QuEST__validation_8c.html#ac018fbf837a5573d9666d3f78c7681d1">isMatrix2Unitary</a></div><div class="ttdeci">int isMatrix2Unitary(ComplexMatrix2 u)</div><div class="ttdef"><b>Definition:</b> <a href="QuEST__validation_8c_source.html#l00227">QuEST_validation.c:227</a></div></div>
<div class="ttc" id="agroup__type_html_gga1c703cf89629e4e9c7023cd402d67028a085c85cff6ba79c52d8b1e61c42ddddf"><div class="ttname"><a href="group__type.html#gga1c703cf89629e4e9c7023cd402d67028a085c85cff6ba79c52d8b1e61c42ddddf">PAULI_Z</a></div><div class="ttdeci">@ PAULI_Z</div><div class="ttdef"><b>Definition:</b> <a href="QuEST_8h_source.html#l00096">QuEST.h:96</a></div></div>
<div class="ttc" id="aQuEST__validation_8c_html_a59e56af19e754a6aa26a612ebf91d05faeb4aa6192443b9c627223d7bbb1e4ac2"><div class="ttname"><a href="QuEST__validation_8c.html#a59e56af19e754a6aa26a612ebf91d05faeb4aa6192443b9c627223d7bbb1e4ac2">E_INVALID_PAULI_CODE</a></div><div class="ttdeci">@ E_INVALID_PAULI_CODE</div><div class="ttdef"><b>Definition:</b> <a href="QuEST__validation_8c_source.html#l00075">QuEST_validation.c:75</a></div></div>
<div class="ttc" id="aQuEST__validation_8c_html_a59e56af19e754a6aa26a612ebf91d05faf5ff674a1ea149739b8642262d11051d"><div class="ttname"><a href="QuEST__validation_8c.html#a59e56af19e754a6aa26a612ebf91d05faf5ff674a1ea149739b8642262d11051d">E_NON_UNITARY_MATRIX</a></div><div class="ttdeci">@ E_NON_UNITARY_MATRIX</div><div class="ttdef"><b>Definition:</b> <a href="QuEST__validation_8c_source.html#l00055">QuEST_validation.c:55</a></div></div>
<div class="ttc" id="aQuEST__validation_8c_html_a7de9c41e77487a2939ed076f0cf674e7"><div class="ttname"><a href="QuEST__validation_8c.html#a7de9c41e77487a2939ed076f0cf674e7">validateHamilParams</a></div><div class="ttdeci">void validateHamilParams(int numQubits, int numTerms, const char *caller)</div><div class="ttdef"><b>Definition:</b> <a href="QuEST__validation_8c_source.html#l00615">QuEST_validation.c:615</a></div></div>
<div class="ttc" id="agroup__type_html_gga1c703cf89629e4e9c7023cd402d67028a63800f45b01ccc2608f754aee850bf4a"><div class="ttname"><a href="group__type.html#gga1c703cf89629e4e9c7023cd402d67028a63800f45b01ccc2608f754aee850bf4a">PAULI_I</a></div><div class="ttdeci">@ PAULI_I</div><div class="ttdef"><b>Definition:</b> <a href="QuEST_8h_source.html#l00096">QuEST.h:96</a></div></div>
<div class="ttc" id="aQuEST__validation_8c_html_a59e56af19e754a6aa26a612ebf91d05fac90337dfa163170ece2777268e846575"><div class="ttname"><a href="QuEST__validation_8c.html#a59e56af19e754a6aa26a612ebf91d05fac90337dfa163170ece2777268e846575">E_INVALID_ONE_QUBIT_DEPHASE_PROB</a></div><div class="ttdeci">@ E_INVALID_ONE_QUBIT_DEPHASE_PROB</div><div class="ttdef"><b>Definition:</b> <a href="QuEST__validation_8c_source.html#l00069">QuEST_validation.c:69</a></div></div>
<div class="ttc" id="aQuEST__validation_8c_html_aa28b7d9c0c3cf9c4be0e324fb9d6bf76"><div class="ttname"><a href="QuEST__validation_8c.html#aa28b7d9c0c3cf9c4be0e324fb9d6bf76">validateMultiQubitMatrixFitsInNode</a></div><div class="ttdeci">void validateMultiQubitMatrixFitsInNode(Qureg qureg, int numTargets, const char *caller)</div><div class="ttdef"><b>Definition:</b> <a href="QuEST__validation_8c_source.html#l00437">QuEST_validation.c:437</a></div></div>
<div class="ttc" id="aQuEST__validation_8c_html_a59e56af19e754a6aa26a612ebf91d05fa3609e43d6776d5df98d5dbac57a5a2c7"><div class="ttname"><a href="QuEST__validation_8c.html#a59e56af19e754a6aa26a612ebf91d05fa3609e43d6776d5df98d5dbac57a5a2c7">E_CANNOT_FIT_MULTI_QUBIT_MATRIX</a></div><div class="ttdeci">@ E_CANNOT_FIT_MULTI_QUBIT_MATRIX</div><div class="ttdef"><b>Definition:</b> <a href="QuEST__validation_8c_source.html#l00077">QuEST_validation.c:77</a></div></div>
<div class="ttc" id="aQuEST__validation_8c_html_a59e56af19e754a6aa26a612ebf91d05fa1c2104582f49728184e1e3fc4ec98b21"><div class="ttname"><a href="QuEST__validation_8c.html#a59e56af19e754a6aa26a612ebf91d05fa1c2104582f49728184e1e3fc4ec98b21">E_INVALID_NUM_N_QUBIT_KRAUS_OPS</a></div><div class="ttdeci">@ E_INVALID_NUM_N_QUBIT_KRAUS_OPS</div><div class="ttdef"><b>Definition:</b> <a href="QuEST__validation_8c_source.html#l00082">QuEST_validation.c:82</a></div></div>
<div class="ttc" id="aQuEST__validation_8c_html_a59e56af19e754a6aa26a612ebf91d05fa52e5a3163ba2e4656b0810e5c926f409"><div class="ttname"><a href="QuEST__validation_8c.html#a59e56af19e754a6aa26a612ebf91d05fa52e5a3163ba2e4656b0810e5c926f409">E_INVALID_ELEM_INDEX</a></div><div class="ttdeci">@ E_INVALID_ELEM_INDEX</div><div class="ttdef"><b>Definition:</b> <a href="QuEST__validation_8c_source.html#l00041">QuEST_validation.c:41</a></div></div>
<div class="ttc" id="aQuEST__validation_8c_html_a9cd87dda5c7b51ab4ddde09d13df16b3"><div class="ttname"><a href="QuEST__validation_8c.html#a9cd87dda5c7b51ab4ddde09d13df16b3">isMatrix4Unitary</a></div><div class="ttdeci">int isMatrix4Unitary(ComplexMatrix4 u)</div><div class="ttdef"><b>Definition:</b> <a href="QuEST__validation_8c_source.html#l00233">QuEST_validation.c:233</a></div></div>
<div class="ttc" id="aQuEST__validation_8c_html_a59e56af19e754a6aa26a612ebf91d05fa367f0d9cac7623f8ba17542e05d5eda7"><div class="ttname"><a href="QuEST__validation_8c.html#a59e56af19e754a6aa26a612ebf91d05fa367f0d9cac7623f8ba17542e05d5eda7">E_MISMATCHING_QUREG_TYPES</a></div><div class="ttdeci">@ E_MISMATCHING_QUREG_TYPES</div><div class="ttdef"><b>Definition:</b> <a href="QuEST__validation_8c_source.html#l00064">QuEST_validation.c:64</a></div></div>
<div class="ttc" id="aQuEST__validation_8c_html_a4f00b6d48e55ce489c6035e16b606a8a"><div class="ttname"><a href="QuEST__validation_8c.html#a4f00b6d48e55ce489c6035e16b606a8a">validateNumControls</a></div><div class="ttdeci">void validateNumControls(Qureg qureg, int numControlQubits, const char *caller)</div><div class="ttdef"><b>Definition:</b> <a href="QuEST__validation_8c_source.html#l00388">QuEST_validation.c:388</a></div></div>
<div class="ttc" id="aQuEST__validation_8c_html_a6cb6ec22af47b86d112320a98925d267"><div class="ttname"><a href="QuEST__validation_8c.html#a6cb6ec22af47b86d112320a98925d267">isCompletelyPositiveMap4</a></div><div class="ttdeci">int isCompletelyPositiveMap4(ComplexMatrix4 *ops, int numOps)</div><div class="ttdef"><b>Definition:</b> <a href="QuEST__validation_8c_source.html#l00267">QuEST_validation.c:267</a></div></div>
<div class="ttc" id="aQuEST__validation_8c_html_a59e56af19e754a6aa26a612ebf91d05fa878910573f25d8712a49324842dc0c9f"><div class="ttname"><a href="QuEST__validation_8c.html#a59e56af19e754a6aa26a612ebf91d05fa878910573f25d8712a49324842dc0c9f">E_CANNOT_PARSE_PAULI_HAMIL_FILE_PAULI</a></div><div class="ttdeci">@ E_CANNOT_PARSE_PAULI_HAMIL_FILE_PAULI</div><div class="ttdef"><b>Definition:</b> <a href="QuEST__validation_8c_source.html#l00091">QuEST_validation.c:91</a></div></div>
<div class="ttc" id="aQuEST__validation_8c_html_ae11c24ee51a5843fc77deb6fbc075888"><div class="ttname"><a href="QuEST__validation_8c.html#ae11c24ee51a5843fc77deb6fbc075888">macro_isCompletelyPositiveMap</a></div><div class="ttdeci">#define macro_isCompletelyPositiveMap(ops, numOps, opDim)</div><div class="ttdef"><b>Definition:</b> <a href="QuEST__validation_8c_source.html#l00246">QuEST_validation.c:246</a></div></div>
<div class="ttc" id="aQuEST__validation_8c_html_a59e56af19e754a6aa26a612ebf91d05fa2c51e35f9c02c1a9a13c25d433e551a0"><div class="ttname"><a href="QuEST__validation_8c.html#a59e56af19e754a6aa26a612ebf91d05fa2c51e35f9c02c1a9a13c25d433e551a0">E_INVALID_QUBIT_INDEX</a></div><div class="ttdeci">@ E_INVALID_QUBIT_INDEX</div><div class="ttdef"><b>Definition:</b> <a href="QuEST__validation_8c_source.html#l00036">QuEST_validation.c:36</a></div></div>
<div class="ttc" id="aQuEST__validation_8c_html_ae06b0f6b669c03241d0db3b9dc560da1"><div class="ttname"><a href="QuEST__validation_8c.html#ae06b0f6b669c03241d0db3b9dc560da1">validateProb</a></div><div class="ttdeci">void validateProb(qreal prob, const char *caller)</div><div class="ttdef"><b>Definition:</b> <a href="QuEST__validation_8c_source.html#l00515">QuEST_validation.c:515</a></div></div>
<div class="ttc" id="aQuEST__validation_8c_html_a59e56af19e754a6aa26a612ebf91d05fa1b0e380f3c20968423b6c3b5bc350844"><div class="ttname"><a href="QuEST__validation_8c.html#a59e56af19e754a6aa26a612ebf91d05fa1b0e380f3c20968423b6c3b5bc350844">E_NON_UNITARY_COMPLEX_PAIR</a></div><div class="ttdeci">@ E_NON_UNITARY_COMPLEX_PAIR</div><div class="ttdef"><b>Definition:</b> <a href="QuEST__validation_8c_source.html#l00056">QuEST_validation.c:56</a></div></div>
<div class="ttc" id="aQuEST__validation_8c_html_a59e56af19e754a6aa26a612ebf91d05fa6eee1110104338493c11f3abd0933763"><div class="ttname"><a href="QuEST__validation_8c.html#a59e56af19e754a6aa26a612ebf91d05fa6eee1110104338493c11f3abd0933763">E_INVALID_CONTROLS_BIT_STATE</a></div><div class="ttdeci">@ E_INVALID_CONTROLS_BIT_STATE</div><div class="ttdef"><b>Definition:</b> <a href="QuEST__validation_8c_source.html#l00074">QuEST_validation.c:74</a></div></div>
<div class="ttc" id="aQuEST__validation_8c_html_a59e56af19e754a6aa26a612ebf91d05fa9441b99173f26df8010b1e05c55a7a91"><div class="ttname"><a href="QuEST__validation_8c.html#a59e56af19e754a6aa26a612ebf91d05fa9441b99173f26df8010b1e05c55a7a91">E_INVALID_TROTTER_ORDER</a></div><div class="ttdeci">@ E_INVALID_TROTTER_ORDER</div><div class="ttdef"><b>Definition:</b> <a href="QuEST__validation_8c_source.html#l00094">QuEST_validation.c:94</a></div></div>
<div class="ttc" id="aQuEST__validation_8c_html_a59e56af19e754a6aa26a612ebf91d05fa363d5314df582811ec80b214cc2a53d0"><div class="ttname"><a href="QuEST__validation_8c.html#a59e56af19e754a6aa26a612ebf91d05fa363d5314df582811ec80b214cc2a53d0">E_INVALID_NUM_TWO_QUBIT_KRAUS_OPS</a></div><div class="ttdeci">@ E_INVALID_NUM_TWO_QUBIT_KRAUS_OPS</div><div class="ttdef"><b>Definition:</b> <a href="QuEST__validation_8c_source.html#l00081">QuEST_validation.c:81</a></div></div>
<div class="ttc" id="aQuEST__validation_8c_html_a59e56af19e754a6aa26a612ebf91d05faa73d415a59f391dcc373e57db1d0b946"><div class="ttname"><a href="QuEST__validation_8c.html#a59e56af19e754a6aa26a612ebf91d05faa73d415a59f391dcc373e57db1d0b946">E_DISTRIB_DIAG_OP_TOO_SMALL</a></div><div class="ttdeci">@ E_DISTRIB_DIAG_OP_TOO_SMALL</div><div class="ttdef"><b>Definition:</b> <a href="QuEST__validation_8c_source.html#l00086">QuEST_validation.c:86</a></div></div>
<div class="ttc" id="aQuEST__validation_8c_html_a59e56af19e754a6aa26a612ebf91d05fa8027a11d972301ce2db1cc3e89fc0d21"><div class="ttname"><a href="QuEST__validation_8c.html#a59e56af19e754a6aa26a612ebf91d05fa8027a11d972301ce2db1cc3e89fc0d21">E_SECOND_ARG_MUST_BE_STATEVEC</a></div><div class="ttdeci">@ E_SECOND_ARG_MUST_BE_STATEVEC</div><div class="ttdef"><b>Definition:</b> <a href="QuEST__validation_8c_source.html#l00062">QuEST_validation.c:62</a></div></div>
<div class="ttc" id="aQuEST__validation_8c_html_a59e56af19e754a6aa26a612ebf91d05fa6dedefbf8fe0aade335d45cb7d47f42b"><div class="ttname"><a href="QuEST__validation_8c.html#a59e56af19e754a6aa26a612ebf91d05fa6dedefbf8fe0aade335d45cb7d47f42b">E_INVALID_CONTROL_QUBIT</a></div><div class="ttdeci">@ E_INVALID_CONTROL_QUBIT</div><div class="ttdef"><b>Definition:</b> <a href="QuEST__validation_8c_source.html#l00038">QuEST_validation.c:38</a></div></div>
<div class="ttc" id="aQuEST__validation_8c_html_a59e56af19e754a6aa26a612ebf91d05fab65076ba39122eb37a197c5fe4aa6ecf"><div class="ttname"><a href="QuEST__validation_8c.html#a59e56af19e754a6aa26a612ebf91d05fab65076ba39122eb37a197c5fe4aa6ecf">E_INVALID_NUM_SUM_TERMS</a></div><div class="ttdeci">@ E_INVALID_NUM_SUM_TERMS</div><div class="ttdef"><b>Definition:</b> <a href="QuEST__validation_8c_source.html#l00076">QuEST_validation.c:76</a></div></div>
<div class="ttc" id="aQuEST__validation_8c_html_a59e56af19e754a6aa26a612ebf91d05fa35d4f22969f6f2cd2dcaac4d444156ad"><div class="ttname"><a href="QuEST__validation_8c.html#a59e56af19e754a6aa26a612ebf91d05fa35d4f22969f6f2cd2dcaac4d444156ad">E_DEFINED_ONLY_FOR_STATEVECS</a></div><div class="ttdeci">@ E_DEFINED_ONLY_FOR_STATEVECS</div><div class="ttdef"><b>Definition:</b> <a href="QuEST__validation_8c_source.html#l00065">QuEST_validation.c:65</a></div></div>
<div class="ttc" id="agroup__type_html_ga7740e349b4f8bae6451547680f0ce2d6"><div class="ttname"><a href="group__type.html#ga7740e349b4f8bae6451547680f0ce2d6">qreal</a></div><div class="ttdeci">#define qreal</div></div>
<div class="ttc" id="aQuEST__validation_8c_html_a6a3d99bc780707a90120a78a6e203792"><div class="ttname"><a href="QuEST__validation_8c.html#a6a3d99bc780707a90120a78a6e203792">validateMatrixInit</a></div><div class="ttdeci">void validateMatrixInit(ComplexMatrixN matr, const char *caller)</div><div class="ttdef"><b>Definition:</b> <a href="QuEST__validation_8c_source.html#l00450">QuEST_validation.c:450</a></div></div>
<div class="ttc" id="aQuEST__validation_8c_html_a5229a3bae3449752adbd45de5e2bfc80"><div class="ttname"><a href="QuEST__validation_8c.html#a5229a3bae3449752adbd45de5e2bfc80">isCompletelyPositiveMap2</a></div><div class="ttdeci">int isCompletelyPositiveMap2(ComplexMatrix2 *ops, int numOps)</div><div class="ttdef"><b>Definition:</b> <a href="QuEST__validation_8c_source.html#l00264">QuEST_validation.c:264</a></div></div>
<div class="ttc" id="aQuEST__validation_8c_html_a59e56af19e754a6aa26a612ebf91d05fab3f56aa469917f8bc40bf2a64dc970ca"><div class="ttname"><a href="QuEST__validation_8c.html#a59e56af19e754a6aa26a612ebf91d05fab3f56aa469917f8bc40bf2a64dc970ca">E_INVALID_PAULI_HAMIL_FILE_PAULI_CODE</a></div><div class="ttdeci">@ E_INVALID_PAULI_HAMIL_FILE_PAULI_CODE</div><div class="ttdef"><b>Definition:</b> <a href="QuEST__validation_8c_source.html#l00092">QuEST_validation.c:92</a></div></div>
<div class="ttc" id="agroup__testutilities_html_ga267884197cf7f1d428021cb12a57360c"><div class="ttname"><a href="group__testutilities.html#ga267884197cf7f1d428021cb12a57360c">calcLog2</a></div><div class="ttdeci">unsigned int calcLog2(long unsigned int num)</div><div class="ttdoc">returns log2 of numbers which must be gauranteed to be 2^n</div><div class="ttdef"><b>Definition:</b> <a href="QuEST__validation_8c_source.html#l00292">QuEST_validation.c:292</a></div></div>
<div class="ttc" id="aQuEST__validation_8c_html_a24aa7eff1427fc87028fbee6e9c42844"><div class="ttname"><a href="QuEST__validation_8c.html#a24aa7eff1427fc87028fbee6e9c42844">validateControl</a></div><div class="ttdeci">void validateControl(Qureg qureg, int controlQubit, const char *caller)</div><div class="ttdef"><b>Definition:</b> <a href="QuEST__validation_8c_source.html#l00368">QuEST_validation.c:368</a></div></div>
<div class="ttc" id="aQuEST__validation_8c_html_a3e60b0d8735a2650dcce92875bc3fe7c"><div class="ttname"><a href="QuEST__validation_8c.html#a3e60b0d8735a2650dcce92875bc3fe7c">macro_isMatrixUnitary</a></div><div class="ttdeci">#define macro_isMatrixUnitary(m, dim, retVal)</div><div class="ttdef"><b>Definition:</b> <a href="QuEST__validation_8c_source.html#l00200">QuEST_validation.c:200</a></div></div>
<div class="ttc" id="agroup__type_html_gga1c703cf89629e4e9c7023cd402d67028a7abac7bb5b71e17382014c443244ad5c"><div class="ttname"><a href="group__type.html#gga1c703cf89629e4e9c7023cd402d67028a7abac7bb5b71e17382014c443244ad5c">PAULI_X</a></div><div class="ttdeci">@ PAULI_X</div><div class="ttdef"><b>Definition:</b> <a href="QuEST_8h_source.html#l00096">QuEST.h:96</a></div></div>
<div class="ttc" id="aQuEST__validation_8c_html_a59e56af19e754a6aa26a612ebf91d05fa93bbec0f9fd753287b43a5004606b213"><div class="ttname"><a href="QuEST__validation_8c.html#a59e56af19e754a6aa26a612ebf91d05fa93bbec0f9fd753287b43a5004606b213">E_INVALID_PROB</a></div><div class="ttdeci">@ E_INVALID_PROB</div><div class="ttdef"><b>Definition:</b> <a href="QuEST__validation_8c_source.html#l00067">QuEST_validation.c:67</a></div></div>
<div class="ttc" id="aQuEST__validation_8c_html_a19b0f78f3bc3364d68e4b2256418bdbf"><div class="ttname"><a href="QuEST__validation_8c.html#a19b0f78f3bc3364d68e4b2256418bdbf">validateNumTargets</a></div><div class="ttdeci">void validateNumTargets(Qureg qureg, int numTargetQubits, const char *caller)</div><div class="ttdef"><b>Definition:</b> <a href="QuEST__validation_8c_source.html#l00384">QuEST_validation.c:384</a></div></div>
<div class="ttc" id="aQuEST__validation_8c_html_a770727d6566c1c94f85bcd63bf5b79cd"><div class="ttname"><a href="QuEST__validation_8c.html#a770727d6566c1c94f85bcd63bf5b79cd">isMatrixNUnitary</a></div><div class="ttdeci">int isMatrixNUnitary(ComplexMatrixN u)</div><div class="ttdef"><b>Definition:</b> <a href="QuEST__validation_8c_source.html#l00239">QuEST_validation.c:239</a></div></div>
<div class="ttc" id="aQuEST__validation_8c_html_a59e56af19e754a6aa26a612ebf91d05fa3b62cb7d19be35c8b63dd2bc77d9f423"><div class="ttname"><a href="QuEST__validation_8c.html#a59e56af19e754a6aa26a612ebf91d05fa3b62cb7d19be35c8b63dd2bc77d9f423">E_QUBITS_NOT_UNIQUE</a></div><div class="ttdeci">@ E_QUBITS_NOT_UNIQUE</div><div class="ttdef"><b>Definition:</b> <a href="QuEST__validation_8c_source.html#l00049">QuEST_validation.c:49</a></div></div>
<div class="ttc" id="aQuEST__validation_8c_html_a59e56af19e754a6aa26a612ebf91d05fa6c41bf9336ab1e3dbdbc99e99a5c6450"><div class="ttname"><a href="QuEST__validation_8c.html#a59e56af19e754a6aa26a612ebf91d05fa6c41bf9336ab1e3dbdbc99e99a5c6450">E_CONTROL_TARGET_COLLISION</a></div><div class="ttdeci">@ E_CONTROL_TARGET_COLLISION</div><div class="ttdef"><b>Definition:</b> <a href="QuEST__validation_8c_source.html#l00048">QuEST_validation.c:48</a></div></div>
<div class="ttc" id="agroup__debug_html_ga51a64b05d31ef9bcf6a63ce26c0092db"><div class="ttname"><a href="group__debug.html#ga51a64b05d31ef9bcf6a63ce26c0092db">invalidQuESTInputError</a></div><div class="ttdeci">void invalidQuESTInputError(const char *errMsg, const char *errFunc)</div><div class="ttdoc">An internal function called when invalid arguments are passed to a QuEST API call,...</div><div class="ttdef"><b>Definition:</b> <a href="QuEST__validation_8c_source.html#l00176">QuEST_validation.c:176</a></div></div>
<div class="ttc" id="aQuEST__validation_8c_html_a59e56af19e754a6aa26a612ebf91d05fa844a7c30a818d9a178f7cdf6f88f6617"><div class="ttname"><a href="QuEST__validation_8c.html#a59e56af19e754a6aa26a612ebf91d05fa844a7c30a818d9a178f7cdf6f88f6617">E_DEFINED_ONLY_FOR_DENSMATRS</a></div><div class="ttdeci">@ E_DEFINED_ONLY_FOR_DENSMATRS</div><div class="ttdef"><b>Definition:</b> <a href="QuEST__validation_8c_source.html#l00066">QuEST_validation.c:66</a></div></div>
<div class="ttc" id="aQuEST__validation_8c_html_a59e56af19e754a6aa26a612ebf91d05fa2bd3656eccdd1c4e090ba44318407225"><div class="ttname"><a href="QuEST__validation_8c.html#a59e56af19e754a6aa26a612ebf91d05fa2bd3656eccdd1c4e090ba44318407225">E_INVALID_KRAUS_OPS</a></div><div class="ttdeci">@ E_INVALID_KRAUS_OPS</div><div class="ttdef"><b>Definition:</b> <a href="QuEST__validation_8c_source.html#l00083">QuEST_validation.c:83</a></div></div>
<div class="ttc" id="aQuEST__validation_8c_html_a59e56af19e754a6aa26a612ebf91d05faa44c6dcf43ab594c40c248632e56b434"><div class="ttname"><a href="QuEST__validation_8c.html#a59e56af19e754a6aa26a612ebf91d05faa44c6dcf43ab594c40c248632e56b434">E_INVALID_OFFSET_NUM_AMPS_QUREG</a></div><div class="ttdeci">@ E_INVALID_OFFSET_NUM_AMPS_QUREG</div><div class="ttdef"><b>Definition:</b> <a href="QuEST__validation_8c_source.html#l00044">QuEST_validation.c:44</a></div></div>
<div class="ttc" id="aQuEST__validation_8c_html_a59e56af19e754a6aa26a612ebf91d05fa65bef0cc4f53e42ded7d66b62d585e1a"><div class="ttname"><a href="QuEST__validation_8c.html#a59e56af19e754a6aa26a612ebf91d05fa65bef0cc4f53e42ded7d66b62d585e1a">E_INVALID_STATE_INDEX</a></div><div class="ttdeci">@ E_INVALID_STATE_INDEX</div><div class="ttdef"><b>Definition:</b> <a href="QuEST__validation_8c_source.html#l00039">QuEST_validation.c:39</a></div></div>
<div class="ttc" id="astructDiagonalOp_html_a85c3f52533efe831bbe40b9a48602388"><div class="ttname"><a href="structDiagonalOp.html#a85c3f52533efe831bbe40b9a48602388">DiagonalOp::imag</a></div><div class="ttdeci">qreal * imag</div><div class="ttdoc">The imaginary values of the 2^numQubits complex elements.</div><div class="ttdef"><b>Definition:</b> <a href="QuEST_8h_source.html#l00191">QuEST.h:191</a></div></div>
<div class="ttc" id="aQuEST__validation_8c_html_aae8c7bcef363e2c9f02eda1e212ac1ce"><div class="ttname"><a href="QuEST__validation_8c.html#aae8c7bcef363e2c9f02eda1e212ac1ce">areUniqueQubits</a></div><div class="ttdeci">int areUniqueQubits(int *qubits, int numQubits)</div><div class="ttdef"><b>Definition:</b> <a href="QuEST__validation_8c_source.html#l00279">QuEST_validation.c:279</a></div></div>
<div class="ttc" id="aQuEST__validation_8c_html_a59e56af19e754a6aa26a612ebf91d05fad4f416b9ea063f9aab9d7a93c712b078"><div class="ttname"><a href="QuEST__validation_8c.html#a59e56af19e754a6aa26a612ebf91d05fad4f416b9ea063f9aab9d7a93c712b078">E_TARGET_IN_CONTROLS</a></div><div class="ttdeci">@ E_TARGET_IN_CONTROLS</div><div class="ttdef"><b>Definition:</b> <a href="QuEST__validation_8c_source.html#l00047">QuEST_validation.c:47</a></div></div>
<div class="ttc" id="aQuEST__validation_8c_html_a59e56af19e754a6aa26a612ebf91d05fa6cf1f26c653d5953a7e7e4cd2623f9c7"><div class="ttname"><a href="QuEST__validation_8c.html#a59e56af19e754a6aa26a612ebf91d05fa6cf1f26c653d5953a7e7e4cd2623f9c7">E_INVALID_NUM_QUBITS</a></div><div class="ttdeci">@ E_INVALID_NUM_QUBITS</div><div class="ttdef"><b>Definition:</b> <a href="QuEST__validation_8c_source.html#l00052">QuEST_validation.c:52</a></div></div>
<div class="ttc" id="astructQureg_html_ab0ea0358482b62f43fdd781469607d97"><div class="ttname"><a href="structQureg.html#ab0ea0358482b62f43fdd781469607d97">Qureg::numAmpsPerChunk</a></div><div class="ttdeci">long long int numAmpsPerChunk</div><div class="ttdoc">Number of probability amplitudes held in stateVec by this process In the non-MPI version,...</div><div class="ttdef"><b>Definition:</b> <a href="QuEST_8h_source.html#l00213">QuEST.h:213</a></div></div>
<div class="ttc" id="aQuEST__validation_8c_html_a59e56af19e754a6aa26a612ebf91d05fa3ba14baf9e1f8b0469c86a7e7be1a81e"><div class="ttname"><a href="QuEST__validation_8c.html#a59e56af19e754a6aa26a612ebf91d05fa3ba14baf9e1f8b0469c86a7e7be1a81e">E_TARGET_IS_CONTROL</a></div><div class="ttdeci">@ E_TARGET_IS_CONTROL</div><div class="ttdef"><b>Definition:</b> <a href="QuEST__validation_8c_source.html#l00046">QuEST_validation.c:46</a></div></div>
<div class="ttc" id="aQuEST__validation_8c_html_a59e56af19e754a6aa26a612ebf91d05fa09321b3b6d5cfd2c9a6ca002d47a7e4d"><div class="ttname"><a href="QuEST__validation_8c.html#a59e56af19e754a6aa26a612ebf91d05fa09321b3b6d5cfd2c9a6ca002d47a7e4d">E_INVALID_PAULI_HAMIL_PARAMS</a></div><div class="ttdeci">@ E_INVALID_PAULI_HAMIL_PARAMS</div><div class="ttdef"><b>Definition:</b> <a href="QuEST__validation_8c_source.html#l00088">QuEST_validation.c:88</a></div></div>
<div class="ttc" id="aQuEST__validation_8c_html_a59e56af19e754a6aa26a612ebf91d05fa2ff2e7eff381c5e42420c65dc6f1bf1e"><div class="ttname"><a href="QuEST__validation_8c.html#a59e56af19e754a6aa26a612ebf91d05fa2ff2e7eff381c5e42420c65dc6f1bf1e">E_INVALID_UNITARY_SIZE</a></div><div class="ttdeci">@ E_INVALID_UNITARY_SIZE</div><div class="ttdef"><b>Definition:</b> <a href="QuEST__validation_8c_source.html#l00078">QuEST_validation.c:78</a></div></div>
<div class="ttc" id="aQuEST__validation_8c_html_a59e56af19e754a6aa26a612ebf91d05fadb4ac75daa2005c22ae07d400a9e20cc"><div class="ttname"><a href="QuEST__validation_8c.html#a59e56af19e754a6aa26a612ebf91d05fadb4ac75daa2005c22ae07d400a9e20cc">E_INVALID_ONE_QUBIT_PAULI_PROBS</a></div><div class="ttdeci">@ E_INVALID_ONE_QUBIT_PAULI_PROBS</div><div class="ttdef"><b>Definition:</b> <a href="QuEST__validation_8c_source.html#l00073">QuEST_validation.c:73</a></div></div>
<div class="ttc" id="astructPauliHamil_html_a4b8d38c403553c07ceddcd40c46ce6c8"><div class="ttname"><a href="structPauliHamil.html#a4b8d38c403553c07ceddcd40c46ce6c8">PauliHamil::pauliCodes</a></div><div class="ttdeci">enum pauliOpType * pauliCodes</div><div class="ttdoc">The Pauli operators acting on each qubit, flattened over every operator.</div><div class="ttdef"><b>Definition:</b> <a href="QuEST_8h_source.html#l00162">QuEST.h:162</a></div></div>
<div class="ttc" id="aQuEST__validation_8c_html_a59e56af19e754a6aa26a612ebf91d05fa7f56b6271ef72a1c53f9e16206c8392c"><div class="ttname"><a href="QuEST__validation_8c.html#a59e56af19e754a6aa26a612ebf91d05fa7f56b6271ef72a1c53f9e16206c8392c">E_MISMATCHING_NUM_TARGS_KRAUS_SIZE</a></div><div class="ttdeci">@ E_MISMATCHING_NUM_TARGS_KRAUS_SIZE</div><div class="ttdef"><b>Definition:</b> <a href="QuEST__validation_8c_source.html#l00084">QuEST_validation.c:84</a></div></div>
<div class="ttc" id="aQuEST__validation_8c_html_a6776217a5f7ba38b56175cf6db0f96e0"><div class="ttname"><a href="QuEST__validation_8c.html#a6776217a5f7ba38b56175cf6db0f96e0">validateMultiTargets</a></div><div class="ttdeci">void validateMultiTargets(Qureg qureg, int *targetQubits, int numTargetQubits, const char *caller)</div><div class="ttdef"><b>Definition:</b> <a href="QuEST__validation_8c_source.html#l00392">QuEST_validation.c:392</a></div></div>
<div class="ttc" id="aQuEST__validation_8c_html_a81c88e4b0024ab1c24d891267676d215"><div class="ttname"><a href="QuEST__validation_8c.html#a81c88e4b0024ab1c24d891267676d215">isValidPauliCode</a></div><div class="ttdeci">int isValidPauliCode(enum pauliOpType code)</div><div class="ttdef"><b>Definition:</b> <a href="QuEST__validation_8c_source.html#l00275">QuEST_validation.c:275</a></div></div>
<div class="ttc" id="aQuEST__validation_8c_html_a59e56af19e754a6aa26a612ebf91d05fa9c12328bf9da962f40c2c91576047b9a"><div class="ttname"><a href="QuEST__validation_8c.html#a59e56af19e754a6aa26a612ebf91d05fa9c12328bf9da962f40c2c91576047b9a">E_INVALID_TARGET_QUBIT</a></div><div class="ttdeci">@ E_INVALID_TARGET_QUBIT</div><div class="ttdef"><b>Definition:</b> <a href="QuEST__validation_8c_source.html#l00037">QuEST_validation.c:37</a></div></div>
<div class="ttc" id="aQuEST__validation_8c_html_a59e56af19e754a6aa26a612ebf91d05fa025e3e2e76ae746ce80924436de2cefc"><div class="ttname"><a href="QuEST__validation_8c.html#a59e56af19e754a6aa26a612ebf91d05fa025e3e2e76ae746ce80924436de2cefc">E_COMPLEX_MATRIX_NOT_INIT</a></div><div class="ttdeci">@ E_COMPLEX_MATRIX_NOT_INIT</div><div class="ttdef"><b>Definition:</b> <a href="QuEST__validation_8c_source.html#l00079">QuEST_validation.c:79</a></div></div>
<div class="ttc" id="aQuEST__validation_8c_html_a59e56af19e754a6aa26a612ebf91d05fa7c45e9327d9e46d62c2265e745dd304a"><div class="ttname"><a href="QuEST__validation_8c.html#a59e56af19e754a6aa26a612ebf91d05fa7c45e9327d9e46d62c2265e745dd304a">E_CANNOT_OPEN_FILE</a></div><div class="ttdeci">@ E_CANNOT_OPEN_FILE</div><div class="ttdef"><b>Definition:</b> <a href="QuEST__validation_8c_source.html#l00061">QuEST_validation.c:61</a></div></div>
<div class="ttc" id="aQuEST__validation_8c_html_a59e56af19e754a6aa26a612ebf91d05fa2f1baaf37f336275631269f11dce15f9"><div class="ttname"><a href="QuEST__validation_8c.html#a59e56af19e754a6aa26a612ebf91d05fa2f1baaf37f336275631269f11dce15f9">E_DISTRIB_QUREG_TOO_SMALL</a></div><div class="ttdeci">@ E_DISTRIB_QUREG_TOO_SMALL</div><div class="ttdef"><b>Definition:</b> <a href="QuEST__validation_8c_source.html#l00085">QuEST_validation.c:85</a></div></div>
<div class="ttc" id="astructDiagonalOp_html_a5131eeb67aafb4c19ac98270c3266742"><div class="ttname"><a href="structDiagonalOp.html#a5131eeb67aafb4c19ac98270c3266742">DiagonalOp::numQubits</a></div><div class="ttdeci">int numQubits</div><div class="ttdoc">The number of qubits this operator can act on (informing its size)</div><div class="ttdef"><b>Definition:</b> <a href="QuEST_8h_source.html#l00181">QuEST.h:181</a></div></div>
<div class="ttc" id="aQuEST__validation_8c_html_a59e56af19e754a6aa26a612ebf91d05fadf2e13b0b7bb3e72087ba611d23f549c"><div class="ttname"><a href="QuEST__validation_8c.html#a59e56af19e754a6aa26a612ebf91d05fadf2e13b0b7bb3e72087ba611d23f549c">E_INVALID_NUM_ONE_QUBIT_KRAUS_OPS</a></div><div class="ttdeci">@ E_INVALID_NUM_ONE_QUBIT_KRAUS_OPS</div><div class="ttdef"><b>Definition:</b> <a href="QuEST__validation_8c_source.html#l00080">QuEST_validation.c:80</a></div></div>
<div class="ttc" id="astructPauliHamil_html_a737e46b40ef8990cf004d22eb9dbe2e4"><div class="ttname"><a href="structPauliHamil.html#a737e46b40ef8990cf004d22eb9dbe2e4">PauliHamil::numSumTerms</a></div><div class="ttdeci">int numSumTerms</div><div class="ttdoc">The number of terms in the weighted sum, or the number of Pauli products.</div><div class="ttdef"><b>Definition:</b> <a href="QuEST_8h_source.html#l00166">QuEST.h:166</a></div></div>
<div class="ttc" id="aQuEST__common_8c_html_acc45bb8300922ea5933e294921e25ea2"><div class="ttname"><a href="QuEST__common_8c.html#acc45bb8300922ea5933e294921e25ea2">getQubitBitMask</a></div><div class="ttdeci">long long int getQubitBitMask(int *qubits, int numQubits)</div><div class="ttdef"><b>Definition:</b> <a href="QuEST__common_8c_source.html#l00044">QuEST_common.c:44</a></div></div>
<div class="ttc" id="aQuEST__validation_8c_html_a59e56af19e754a6aa26a612ebf91d05facb4860f9efbeef2af29d92db6bf43531"><div class="ttname"><a href="QuEST__validation_8c.html#a59e56af19e754a6aa26a612ebf91d05facb4860f9efbeef2af29d92db6bf43531">E_MISMATCHING_QUREG_DIAGONAL_OP_SIZE</a></div><div class="ttdeci">@ E_MISMATCHING_QUREG_DIAGONAL_OP_SIZE</div><div class="ttdef"><b>Definition:</b> <a href="QuEST__validation_8c_source.html#l00096">QuEST_validation.c:96</a></div></div>
<div class="ttc" id="agroup__type_html_gga1c703cf89629e4e9c7023cd402d67028a2c64a9aaee27f6bcfef894d159e759bd"><div class="ttname"><a href="group__type.html#gga1c703cf89629e4e9c7023cd402d67028a2c64a9aaee27f6bcfef894d159e759bd">PAULI_Y</a></div><div class="ttdeci">@ PAULI_Y</div><div class="ttdef"><b>Definition:</b> <a href="QuEST_8h_source.html#l00096">QuEST.h:96</a></div></div>
<div class="ttc" id="aQuEST__validation_8c_html_a59e56af19e754a6aa26a612ebf91d05fa16c3d52d803cd7232e5cb56b4c56f734"><div class="ttname"><a href="QuEST__validation_8c.html#a59e56af19e754a6aa26a612ebf91d05fa16c3d52d803cd7232e5cb56b4c56f734">E_INVALID_AMP_INDEX</a></div><div class="ttdeci">@ E_INVALID_AMP_INDEX</div><div class="ttdef"><b>Definition:</b> <a href="QuEST__validation_8c_source.html#l00040">QuEST_validation.c:40</a></div></div>
<div class="ttc" id="astructComplexMatrixN_html_a446e8a077597e4f76049d547df0c9738"><div class="ttname"><a href="structComplexMatrixN.html#a446e8a077597e4f76049d547df0c9738">ComplexMatrixN::real</a></div><div class="ttdeci">qreal ** real</div><div class="ttdef"><b>Definition:</b> <a href="QuEST_8h_source.html#l00139">QuEST.h:139</a></div></div>
<div class="ttc" id="aQuEST__validation_8c_html_a59e56af19e754a6aa26a612ebf91d05fa88763fecf89fb1712fb7b219e70bc054"><div class="ttname"><a href="QuEST__validation_8c.html#a59e56af19e754a6aa26a612ebf91d05fa88763fecf89fb1712fb7b219e70bc054">E_INVALID_NUM_RANKS</a></div><div class="ttdeci">@ E_INVALID_NUM_RANKS</div><div class="ttdef"><b>Definition:</b> <a href="QuEST__validation_8c_source.html#l00034">QuEST_validation.c:34</a></div></div>
<div class="ttc" id="aQuEST__validation_8c_html_a59e56af19e754a6aa26a612ebf91d05fa117f97d3ec363d812e6062332d58573a"><div class="ttname"><a href="QuEST__validation_8c.html#a59e56af19e754a6aa26a612ebf91d05fa117f97d3ec363d812e6062332d58573a">E_INVALID_TWO_QUBIT_DEPHASE_PROB</a></div><div class="ttdeci">@ E_INVALID_TWO_QUBIT_DEPHASE_PROB</div><div class="ttdef"><b>Definition:</b> <a href="QuEST__validation_8c_source.html#l00070">QuEST_validation.c:70</a></div></div>
<div class="ttc" id="aQuEST__validation_8c_html_a59e56af19e754a6aa26a612ebf91d05fa4bfb0440c1886f7fd7bdca40fc0fd9e5"><div class="ttname"><a href="QuEST__validation_8c.html#a59e56af19e754a6aa26a612ebf91d05fa4bfb0440c1886f7fd7bdca40fc0fd9e5">E_MISMATCHING_PAULI_HAMIL_QUREG_NUM_QUBITS</a></div><div class="ttdeci">@ E_MISMATCHING_PAULI_HAMIL_QUREG_NUM_QUBITS</div><div class="ttdef"><b>Definition:</b> <a href="QuEST__validation_8c_source.html#l00093">QuEST_validation.c:93</a></div></div>
<div class="ttc" id="aQuEST__validation_8c_html_a787fcf25439967fcf5b2d23f98589892"><div class="ttname"><a href="QuEST__validation_8c.html#a787fcf25439967fcf5b2d23f98589892">errorMessages</a></div><div class="ttdeci">static const char * errorMessages[]</div><div class="ttdef"><b>Definition:</b> <a href="QuEST__validation_8c_source.html#l00100">QuEST_validation.c:100</a></div></div>
<div class="ttc" id="aQuEST__validation_8c_html_a1cd60afc39f9970619db1ba7ca89d258"><div class="ttname"><a href="QuEST__validation_8c.html#a1cd60afc39f9970619db1ba7ca89d258">QuESTAssert</a></div><div class="ttdeci">void QuESTAssert(int isValid, ErrorCode code, const char *func)</div><div class="ttdef"><b>Definition:</b> <a href="QuEST__validation_8c_source.html#l00180">QuEST_validation.c:180</a></div></div>
<div class="ttc" id="aQuEST__validation_8c_html_a59e56af19e754a6aa26a612ebf91d05fa6e1255a7459c6acab99f6c4f50c3e23e"><div class="ttname"><a href="QuEST__validation_8c.html#a59e56af19e754a6aa26a612ebf91d05fa6e1255a7459c6acab99f6c4f50c3e23e">E_INVALID_NUM_AMPS</a></div><div class="ttdeci">@ E_INVALID_NUM_AMPS</div><div class="ttdef"><b>Definition:</b> <a href="QuEST__validation_8c_source.html#l00042">QuEST_validation.c:42</a></div></div>
<div class="ttc" id="aQuEST__validation_8c_html_a59e56af19e754a6aa26a612ebf91d05fa3b66cbbf809dca13ed1f8c417c5c6d58"><div class="ttname"><a href="QuEST__validation_8c.html#a59e56af19e754a6aa26a612ebf91d05fa3b66cbbf809dca13ed1f8c417c5c6d58">E_COLLAPSE_STATE_ZERO_PROB</a></div><div class="ttdeci">@ E_COLLAPSE_STATE_ZERO_PROB</div><div class="ttdef"><b>Definition:</b> <a href="QuEST__validation_8c_source.html#l00059">QuEST_validation.c:59</a></div></div>
<div class="ttc" id="aQuEST__validation_8c_html_a59e56af19e754a6aa26a612ebf91d05fa323e5ea1a63ab51abbcf728a1c76b6ab"><div class="ttname"><a href="QuEST__validation_8c.html#a59e56af19e754a6aa26a612ebf91d05fa323e5ea1a63ab51abbcf728a1c76b6ab">E_TARGETS_NOT_UNIQUE</a></div><div class="ttdeci">@ E_TARGETS_NOT_UNIQUE</div><div class="ttdef"><b>Definition:</b> <a href="QuEST__validation_8c_source.html#l00050">QuEST_validation.c:50</a></div></div>
<div class="ttc" id="astructComplexMatrixN_html_afde13e469a3b4f179f45e53d1ec0a7cf"><div class="ttname"><a href="structComplexMatrixN.html#afde13e469a3b4f179f45e53d1ec0a7cf">ComplexMatrixN::imag</a></div><div class="ttdeci">qreal ** imag</div><div class="ttdef"><b>Definition:</b> <a href="QuEST_8h_source.html#l00140">QuEST.h:140</a></div></div>
<div class="ttc" id="aQuEST__validation_8c_html_a59e56af19e754a6aa26a612ebf91d05fa285d1968690ecce05a722324235dc698"><div class="ttname"><a href="QuEST__validation_8c.html#a59e56af19e754a6aa26a612ebf91d05fa285d1968690ecce05a722324235dc698">E_MISMATCHING_QUREG_DIMENSIONS</a></div><div class="ttdeci">@ E_MISMATCHING_QUREG_DIMENSIONS</div><div class="ttdef"><b>Definition:</b> <a href="QuEST__validation_8c_source.html#l00063">QuEST_validation.c:63</a></div></div>
<div class="ttc" id="aQuEST__validation_8c_html_a59e56af19e754a6aa26a612ebf91d05f"><div class="ttname"><a href="QuEST__validation_8c.html#a59e56af19e754a6aa26a612ebf91d05f">ErrorCode</a></div><div class="ttdeci">ErrorCode</div><div class="ttdef"><b>Definition:</b> <a href="QuEST__validation_8c_source.html#l00032">QuEST_validation.c:32</a></div></div>
<div class="ttc" id="aQuEST__validation_8c_html_a59e56af19e754a6aa26a612ebf91d05fa1cd38647d334bbc89842adac92ea8b6d"><div class="ttname"><a href="QuEST__validation_8c.html#a59e56af19e754a6aa26a612ebf91d05fa1cd38647d334bbc89842adac92ea8b6d">E_INVALID_TROTTER_REPS</a></div><div class="ttdeci">@ E_INVALID_TROTTER_REPS</div><div class="ttdef"><b>Definition:</b> <a href="QuEST__validation_8c_source.html#l00095">QuEST_validation.c:95</a></div></div>
<div class="ttc" id="aQuEST__validation_8c_html_a59e56af19e754a6aa26a612ebf91d05fa4977c4b1099c2ac41d028050d01e9df4"><div class="ttname"><a href="QuEST__validation_8c.html#a59e56af19e754a6aa26a612ebf91d05fa4977c4b1099c2ac41d028050d01e9df4">E_INVALID_NUM_CONTROLS</a></div><div class="ttdeci">@ E_INVALID_NUM_CONTROLS</div><div class="ttdef"><b>Definition:</b> <a href="QuEST__validation_8c_source.html#l00054">QuEST_validation.c:54</a></div></div>
<div class="ttc" id="aQuEST__validation_8c_html_a75e57a6f82e7d4c0fda1549da1b38f6d"><div class="ttname"><a href="QuEST__validation_8c.html#a75e57a6f82e7d4c0fda1549da1b38f6d">errMsgBuffer</a></div><div class="ttdeci">char errMsgBuffer[1024]</div><div class="ttdef"><b>Definition:</b> <a href="QuEST__validation_8c_source.html#l00030">QuEST_validation.c:30</a></div></div>
<div class="ttc" id="aQuEST__validation_8c_html_a59e56af19e754a6aa26a612ebf91d05fa842c2a58b36ab64137cc44d22808e6dc"><div class="ttname"><a href="QuEST__validation_8c.html#a59e56af19e754a6aa26a612ebf91d05fa842c2a58b36ab64137cc44d22808e6dc">E_INVALID_NUM_CREATE_QUBITS</a></div><div class="ttdeci">@ E_INVALID_NUM_CREATE_QUBITS</div><div class="ttdef"><b>Definition:</b> <a href="QuEST__validation_8c_source.html#l00035">QuEST_validation.c:35</a></div></div>
<div class="ttc" id="aQuEST__validation_8c_html_ac5bd32bc24176e616a288ae04752fc9c"><div class="ttname"><a href="QuEST__validation_8c.html#ac5bd32bc24176e616a288ae04752fc9c">validateDiagOpInit</a></div><div class="ttdeci">void validateDiagOpInit(DiagonalOp op, const char *caller)</div><div class="ttdef"><b>Definition:</b> <a href="QuEST__validation_8c_source.html#l00673">QuEST_validation.c:673</a></div></div>
<div class="ttc" id="astructQureg_html_acf78445e9435d09f44f0cc832c6aee79"><div class="ttname"><a href="structQureg.html#acf78445e9435d09f44f0cc832c6aee79">Qureg::isDensityMatrix</a></div><div class="ttdeci">int isDensityMatrix</div><div class="ttdoc">Whether this instance is a density-state representation.</div><div class="ttdef"><b>Definition:</b> <a href="QuEST_8h_source.html#l00206">QuEST.h:206</a></div></div>
<div class="ttc" id="astructComplexMatrixN_html_a606f7afbc3f65a596bdca21cb43be6a8"><div class="ttname"><a href="structComplexMatrixN.html#a606f7afbc3f65a596bdca21cb43be6a8">ComplexMatrixN::numQubits</a></div><div class="ttdeci">int numQubits</div><div class="ttdef"><b>Definition:</b> <a href="QuEST_8h_source.html#l00138">QuEST.h:138</a></div></div>
<div class="ttc" id="aQuEST__validation_8c_html_a5f87419b253a97f6caadb72b507b9853"><div class="ttname"><a href="QuEST__validation_8c.html#a5f87419b253a97f6caadb72b507b9853">validateAmpIndex</a></div><div class="ttdeci">void validateAmpIndex(Qureg qureg, long long int ampInd, const char *caller)</div><div class="ttdef"><b>Definition:</b> <a href="QuEST__validation_8c_source.html#l00346">QuEST_validation.c:346</a></div></div>
<div class="ttc" id="aQuEST__validation_8c_html_a59e56af19e754a6aa26a612ebf91d05faee49e5e9192447cfb9d44bb4d4619dbc"><div class="ttname"><a href="QuEST__validation_8c.html#a59e56af19e754a6aa26a612ebf91d05faee49e5e9192447cfb9d44bb4d4619dbc">E_INVALID_OFFSET_NUM_ELEMS_DIAG</a></div><div class="ttdeci">@ E_INVALID_OFFSET_NUM_ELEMS_DIAG</div><div class="ttdef"><b>Definition:</b> <a href="QuEST__validation_8c_source.html#l00045">QuEST_validation.c:45</a></div></div>
<div class="ttc" id="aQuEST__common_8c_html_a3cf54148e2162b04aeb634badb90826c"><div class="ttname"><a href="QuEST__common_8c.html#a3cf54148e2162b04aeb634badb90826c">getVectorMagnitude</a></div><div class="ttdeci">qreal getVectorMagnitude(Vector vec)</div><div class="ttdef"><b>Definition:</b> <a href="QuEST__common_8c_source.html#l00073">QuEST_common.c:73</a></div></div>
<div class="ttc" id="aQuEST__validation_8c_html_a59e56af19e754a6aa26a612ebf91d05fa0085d080a49cd935cbd8513c58debee1"><div class="ttname"><a href="QuEST__validation_8c.html#a59e56af19e754a6aa26a612ebf91d05fa0085d080a49cd935cbd8513c58debee1">E_INVALID_PAULI_HAMIL_FILE_PARAMS</a></div><div class="ttdeci">@ E_INVALID_PAULI_HAMIL_FILE_PARAMS</div><div class="ttdef"><b>Definition:</b> <a href="QuEST__validation_8c_source.html#l00089">QuEST_validation.c:89</a></div></div>
<div class="ttc" id="astructPauliHamil_html_acb49fff0e3160ea1904c9ca34408b4e1"><div class="ttname"><a href="structPauliHamil.html#acb49fff0e3160ea1904c9ca34408b4e1">PauliHamil::numQubits</a></div><div class="ttdeci">int numQubits</div><div class="ttdoc">The number of qubits for which this Hamiltonian is defined.</div><div class="ttdef"><b>Definition:</b> <a href="QuEST_8h_source.html#l00168">QuEST.h:168</a></div></div>
<div class="ttc" id="aQuEST__validation_8c_html_a59e56af19e754a6aa26a612ebf91d05fad2a2e4be1419543566bf11c54ee17d18"><div class="ttname"><a href="QuEST__validation_8c.html#a59e56af19e754a6aa26a612ebf91d05fad2a2e4be1419543566bf11c54ee17d18">E_UNNORM_PROBS</a></div><div class="ttdeci">@ E_UNNORM_PROBS</div><div class="ttdef"><b>Definition:</b> <a href="QuEST__validation_8c_source.html#l00068">QuEST_validation.c:68</a></div></div>
<div class="ttc" id="astructQureg_html_ad08dff5316b8937f4b2a1417591543dc"><div class="ttname"><a href="structQureg.html#ad08dff5316b8937f4b2a1417591543dc">Qureg::numQubitsRepresented</a></div><div class="ttdeci">int numQubitsRepresented</div><div class="ttdoc">The number of qubits represented in either the state-vector or density matrix.</div><div class="ttdef"><b>Definition:</b> <a href="QuEST_8h_source.html#l00208">QuEST.h:208</a></div></div>
<div class="ttc" id="astructQureg_html_adef4935cac95763c29164cf99b144ed4"><div class="ttname"><a href="structQureg.html#adef4935cac95763c29164cf99b144ed4">Qureg::numAmpsTotal</a></div><div class="ttdeci">long long int numAmpsTotal</div><div class="ttdoc">Total number of amplitudes, which are possibly distributed among machines.</div><div class="ttdef"><b>Definition:</b> <a href="QuEST_8h_source.html#l00215">QuEST.h:215</a></div></div>
<div class="ttc" id="astructDiagonalOp_html_a1d66088bed235d524cd452b107694d5c"><div class="ttname"><a href="structDiagonalOp.html#a1d66088bed235d524cd452b107694d5c">DiagonalOp::real</a></div><div class="ttdeci">qreal * real</div><div class="ttdoc">The real values of the 2^numQubits complex elements.</div><div class="ttdef"><b>Definition:</b> <a href="QuEST_8h_source.html#l00189">QuEST.h:189</a></div></div>
<div class="ttc" id="astructComplex_html_ab5b2e2eca02131fc74b289a83636cbe3"><div class="ttname"><a href="structComplex.html#ab5b2e2eca02131fc74b289a83636cbe3">Complex::real</a></div><div class="ttdeci">qreal real</div><div class="ttdef"><b>Definition:</b> <a href="QuEST_8h_source.html#l00105">QuEST.h:105</a></div></div>
<div class="ttc" id="agroup__type_html_gac1c8ed909b33bd55ae680901006051b6"><div class="ttname"><a href="group__type.html#gac1c8ed909b33bd55ae680901006051b6">destroyPauliHamil</a></div><div class="ttdeci">void destroyPauliHamil(PauliHamil h)</div><div class="ttdoc">Destroy a PauliHamil instance, created with either createPauliHamil() or createPauliHamilFromFile().</div><div class="ttdef"><b>Definition:</b> <a href="QuEST_8c_source.html#l01163">QuEST.c:1163</a></div></div>
<div class="ttc" id="aQuEST__validation_8c_html_aad1590b0f1ed71d267c08642452c0be2"><div class="ttname"><a href="QuEST__validation_8c.html#aad1590b0f1ed71d267c08642452c0be2">isCompletelyPositiveMapN</a></div><div class="ttdeci">int isCompletelyPositiveMapN(ComplexMatrixN *ops, int numOps)</div><div class="ttdef"><b>Definition:</b> <a href="QuEST__validation_8c_source.html#l00270">QuEST_validation.c:270</a></div></div>
<div class="ttc" id="astructComplex_html_a84f5439aad0ef495efdd3b4c1c02d27e"><div class="ttname"><a href="structComplex.html#a84f5439aad0ef495efdd3b4c1c02d27e">Complex::imag</a></div><div class="ttdeci">qreal imag</div><div class="ttdef"><b>Definition:</b> <a href="QuEST_8h_source.html#l00106">QuEST.h:106</a></div></div>
<div class="ttc" id="aQuEST__validation_8c_html_adbe2e1f7f7536cb6dcc60f7378154e79"><div class="ttname"><a href="QuEST__validation_8c.html#adbe2e1f7f7536cb6dcc60f7378154e79">validateMultiControls</a></div><div class="ttdeci">void validateMultiControls(Qureg qureg, int *controlQubits, int numControlQubits, const char *caller)</div><div class="ttdef"><b>Definition:</b> <a href="QuEST__validation_8c_source.html#l00400">QuEST_validation.c:400</a></div></div>
<div class="ttc" id="aQuEST__validation_8c_html_a59e56af19e754a6aa26a612ebf91d05fab1055b4501c5a9826359a65c59e57a66"><div class="ttname"><a href="QuEST__validation_8c.html#a59e56af19e754a6aa26a612ebf91d05fab1055b4501c5a9826359a65c59e57a66">E_INVALID_NUM_ELEMS</a></div><div class="ttdeci">@ E_INVALID_NUM_ELEMS</div><div class="ttdef"><b>Definition:</b> <a href="QuEST__validation_8c_source.html#l00043">QuEST_validation.c:43</a></div></div>
<div class="ttc" id="aQuEST__validation_8c_html_a576519ac36b7cb25bab78d05b5d1975f"><div class="ttname"><a href="QuEST__validation_8c.html#a576519ac36b7cb25bab78d05b5d1975f">validateMultiQubitMatrix</a></div><div class="ttdeci">void validateMultiQubitMatrix(Qureg qureg, ComplexMatrixN u, int numTargs, const char *caller)</div><div class="ttdef"><b>Definition:</b> <a href="QuEST__validation_8c_source.html#l00460">QuEST_validation.c:460</a></div></div>
<div class="ttc" id="aQuEST__validation_8c_html_a59e56af19e754a6aa26a612ebf91d05fa4e515c795506ed87efd89a2ee8957c52"><div class="ttname"><a href="QuEST__validation_8c.html#a59e56af19e754a6aa26a612ebf91d05fa4e515c795506ed87efd89a2ee8957c52">E_INVALID_NUM_TARGETS</a></div><div class="ttdeci">@ E_INVALID_NUM_TARGETS</div><div class="ttdef"><b>Definition:</b> <a href="QuEST__validation_8c_source.html#l00053">QuEST_validation.c:53</a></div></div>
<div class="ttc" id="aQuEST__validation_8c_html_a59e56af19e754a6aa26a612ebf91d05fade7e7cff05babf532b1848b7198a5432"><div class="ttname"><a href="QuEST__validation_8c.html#a59e56af19e754a6aa26a612ebf91d05fade7e7cff05babf532b1848b7198a5432">E_SYS_TOO_BIG_TO_PRINT</a></div><div class="ttdeci">@ E_SYS_TOO_BIG_TO_PRINT</div><div class="ttdef"><b>Definition:</b> <a href="QuEST__validation_8c_source.html#l00058">QuEST_validation.c:58</a></div></div>
<div class="ttc" id="aQuEST__validation_8c_html_a786b1167850b73501c52293fc8ea41fb"><div class="ttname"><a href="QuEST__validation_8c.html#a786b1167850b73501c52293fc8ea41fb">isComplexPairUnitary</a></div><div class="ttdeci">int isComplexPairUnitary(Complex alpha, Complex beta)</div><div class="ttdef"><b>Definition:</b> <a href="QuEST__validation_8c_source.html#l00192">QuEST_validation.c:192</a></div></div>
<div class="ttc" id="aQuEST__validation_8c_html_aa194ba5f5c6e19c6caa4c715b3dbefcc"><div class="ttname"><a href="QuEST__validation_8c.html#aa194ba5f5c6e19c6caa4c715b3dbefcc">validatePauliCodes</a></div><div class="ttdeci">void validatePauliCodes(enum pauliOpType *pauliCodes, int numPauliCodes, const char *caller)</div><div class="ttdef"><b>Definition:</b> <a href="QuEST__validation_8c_source.html#l00563">QuEST_validation.c:563</a></div></div>
<div class="ttc" id="aQuEST__validation_8c_html_a59e56af19e754a6aa26a612ebf91d05fa1fb91d002917c5c5bfdab19ec7503acb"><div class="ttname"><a href="QuEST__validation_8c.html#a59e56af19e754a6aa26a612ebf91d05fa1fb91d002917c5c5bfdab19ec7503acb">E_DIAGONAL_OP_NOT_INITIALISED</a></div><div class="ttdeci">@ E_DIAGONAL_OP_NOT_INITIALISED</div><div class="ttdef"><b>Definition:</b> <a href="QuEST__validation_8c_source.html#l00097">QuEST_validation.c:97</a></div></div>
<div class="ttc" id="aQuEST__validation_8c_html_a59e56af19e754a6aa26a612ebf91d05fa3fbe01426a3917a7816c6afd5baaf9aa"><div class="ttname"><a href="QuEST__validation_8c.html#a59e56af19e754a6aa26a612ebf91d05fa3fbe01426a3917a7816c6afd5baaf9aa">E_INVALID_ONE_QUBIT_DEPOL_PROB</a></div><div class="ttdeci">@ E_INVALID_ONE_QUBIT_DEPOL_PROB</div><div class="ttdef"><b>Definition:</b> <a href="QuEST__validation_8c_source.html#l00071">QuEST_validation.c:71</a></div></div>
<div class="ttc" id="aQuEST__validation_8c_html_a59e56af19e754a6aa26a612ebf91d05fac3121e429a129b2ccb51a92b7c78c4b4"><div class="ttname"><a href="QuEST__validation_8c.html#a59e56af19e754a6aa26a612ebf91d05fac3121e429a129b2ccb51a92b7c78c4b4">E_SUCCESS</a></div><div class="ttdeci">@ E_SUCCESS</div><div class="ttdef"><b>Definition:</b> <a href="QuEST__validation_8c_source.html#l00033">QuEST_validation.c:33</a></div></div>
<div class="ttc" id="aQuEST__validation_8c_html_a59e56af19e754a6aa26a612ebf91d05fa08ea828707fd3d3ef1304c3871c8fcf9"><div class="ttname"><a href="QuEST__validation_8c.html#a59e56af19e754a6aa26a612ebf91d05fa08ea828707fd3d3ef1304c3871c8fcf9">E_ZERO_VECTOR</a></div><div class="ttdeci">@ E_ZERO_VECTOR</div><div class="ttdef"><b>Definition:</b> <a href="QuEST__validation_8c_source.html#l00057">QuEST_validation.c:57</a></div></div>
<div class="ttc" id="aQuEST__validation_8c_html_a59e56af19e754a6aa26a612ebf91d05fae9419d99d88ab7e6e1c486b8ac22f1c6"><div class="ttname"><a href="QuEST__validation_8c.html#a59e56af19e754a6aa26a612ebf91d05fae9419d99d88ab7e6e1c486b8ac22f1c6">E_CONTROLS_NOT_UNIQUE</a></div><div class="ttdeci">@ E_CONTROLS_NOT_UNIQUE</div><div class="ttdef"><b>Definition:</b> <a href="QuEST__validation_8c_source.html#l00051">QuEST_validation.c:51</a></div></div>
<!-- HTML footer for doxygen 1.8.8-->
<!-- start footer part -->
</div>
</div>
</div>
</div>
</div>
</body>
        <script type="text/javascript" src="boot.js"></script>
</html>
